25
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

BluemixAdvent Calendar 2015

Day 1

【復習】BluemixのAPI ManagementでWeb APIを公開してみた

Last updated at Posted at 2015-11-30

11/26に行われたIBM Bluemix の API ManagementでWeb APIを公開するハンズオンの復習です。
コーディング無しでAPIをアセンブルしたり、APIにセキュリティをアドオン、バージョン管理によるインタラクティブ開発、プラン定義によるAPIの商品化(私はここに惹かれました!)、APIの使用状況を分析などが簡単にできます。
※2015年11月27日~28日時点の環境で行いました。

今回の環境

銀行の既存APIを利用する想定です。
2015-11-28_002244.jpg

ハンズオン環境のセットアップ

IBM Bluemixにログインし、今回は米国南部を選択します。
(新しくシドニーができていました。日本から少し近いからこちらのほうが早いようです。)
2015-11-27_170903.jpg

2015-11-27_170926.jpg
地域を選択した際にスペースの作成を指示された場合は、任意の名前でスペースの作成を行います。
(指示されなければこの作業は飛ばします。)
2015-11-27_171259.jpg

ランタイム(Node.js)の作成

2015-11-27_172539 - コピー.jpg
2015-11-27_172620.jpg
ステージングが終わるのを待ちます。(以前よりステージングが早くなった?)
2015-11-27_173002.jpg

サービス(API Management)の作成

2015-11-27_172539.jpg
2015-11-27_173238.jpg

API Managementの起動

2015-11-27_173352.jpg
API Managementに移動
2015-11-27_203220.jpg
これで準備が終わりました。

Proxy APIの作成

既存のA銀行のRESTサービスを、そのままAPI Managementで公開/管理する、ゲートウェイ・プロキシーを実装します。
2015-11-28_002310.jpg

既存環境であるA銀行の融資見積もりAPIの仕様を確認

A銀行の融資見積もりAPIにアクセスして、一番下のGETメソッド①「/loans/quote」をクリックして展開します。
②年間利子率、③融資額(借入金)、④返済期間(月)をパラメータとして指定すると、毎月の返済額を元利均等返済で計算します。
2015-11-30_225258.jpg
Request URLとResponse Bodyは後ほど使用するので、ブラウザはこのままにしておきます。
Request URL:https://apim-services.mybluemix.net/banka/v1/loans/quote?apr=1.5&amount=200000&term=60
Response Body:{"monthly_payment": 3461.98}

2015-11-30_225344.jpg

API ManagerからAPIを新規に作成

2015-11-27_173646.jpg

2015-11-27_180316.jpg
タイトル:Loans
基本パス:/loans/v1
バージョン:1.0.0
説明:返済額見積もり
2015-11-27_180455.jpg
メッソドを定義します。
②でPOSTメソッドを削除します。
2015-11-27_180645.jpg
メソッドを定義します。
パス:/quote?apr=1.5&amount=200000&term=60
要約:A銀行ローン
説明:返済見積もり
パス情報は、A銀行のAPIのRequest URLからコピーします。
2015-11-27_181017.jpg

2015-11-27_181112.jpg

APIパラメーターの設定
amount:融資額
apr:年間利子率
term:返済期間(月)
④必須にチェックを入れます。
2015-11-27_181245.jpg
HTTPステータスコード200の場合の応答を定義します。
応答の例 {"monthly_payment": 3461.98}
2015-11-27_181857.jpg
プロキシーURLとしてA銀行のローンAPIのエンドポイントを指定します。
プロキシーURLは、A銀行のAPIのRequest URLからコピーします。
https://apim-services.mybluemix.net/banka/v1/loans/quote

2015-11-27_182055.jpg
画面右上の保存を選択するとAPIが保存されます。
2015-11-27_182141.jpg

プランを作成してAPIを追加

2015-11-27_201622.jpg
APIを公開するためにプランを作成します。
タイトル:Standard
説明:標準プラン
2015-11-27_201706.jpg
プランにAPIを追加します。
2015-11-27_201911.jpg
2015-11-27_201938.jpg
StandardプランにLoansのAPIが追加されていることを確認します。
2015-11-27_201954.jpg
プランのステージを行います。
ステージ先として、Sandboxを選択します。
2015-11-27_202030.jpg
2015-11-27_202052.jpg

プランの公開

2015-11-27_202417.jpg

2015-11-27_202503.jpg

2015-11-27_202602.jpg

アプリからAPIを利用

作成したAPI「Lotans」がカスタムAPIサービスとして登録されていることを確認します。
(表示されていない場合は一度ログアウトし、再度ログインします。)
2015-11-27_184722.jpg

2015-11-27_184814.jpg
作成したAPI「Loans」をカスタムAPIサービスとしてNode.jsランタイムに追加します。
2015-11-27_185150.jpg

動作確認

2015-11-27_185407.jpg
②+Path+①を繋いてWebブラウザでAPIにアクセスします。
Pathは動作確認を行ったA銀行のAPIのRequest URLからコピーします。
(URL:https://api.apim.ibmcloud.com/自分のID-dev/sb/loans/v1)
(Path:/quote?apr=1.5&amount=200000&term=60)
(Client_id:hoge-hoge-hoge-hoge-hoge)
例:https://api.apim.ibmcloud.com/自分のID-dev/sb/loans/v1/quote?apr=1.5&amount=200000&term=60/hoge-hoge-hoge-hoge-hoge
API Management経由でA銀行のローンAPIにアクセスします。
パラメーターを変更して再度APIをコールすると結果が変わることを確認できます。

2015-11-27_185424.jpg

APIの仕様状況を確認

API ManagerからAPIの仕様状況を確認します。
2015-11-30_233954.jpg

最後に

自分でプラン定義をしてAPIの商品化が出来ることに凄くワクワクしました。
当日は他にもAssmble APIの作成も行いました。GoogleMapのAPIも使い支店情報を表示させました。
12月3日にも同様のハンズオンが有るようですので、是非是非参加してみてください!
お菓子とジュースもついています!
AdventCalender - Bluemix - day1

25
25
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?