11/26に行われたIBM Bluemix の API ManagementでWeb APIを公開するハンズオンの復習です。
コーディング無しでAPIをアセンブルしたり、APIにセキュリティをアドオン、バージョン管理によるインタラクティブ開発、プラン定義によるAPIの商品化(私はここに惹かれました!)、APIの使用状況を分析などが簡単にできます。
※2015年11月27日~28日時点の環境で行いました。
今回の環境
ハンズオン環境のセットアップ
IBM Bluemixにログインし、今回は米国南部を選択します。
(新しくシドニーができていました。日本から少し近いからこちらのほうが早いようです。)
地域を選択した際にスペースの作成を指示された場合は、任意の名前でスペースの作成を行います。
(指示されなければこの作業は飛ばします。)
ランタイム(Node.js)の作成
ステージングが終わるのを待ちます。(以前よりステージングが早くなった?)
サービス(API Management)の作成
API Managementの起動
API Managementに移動
これで準備が終わりました。
Proxy APIの作成
既存のA銀行のRESTサービスを、そのままAPI Managementで公開/管理する、ゲートウェイ・プロキシーを実装します。
既存環境であるA銀行の融資見積もりAPIの仕様を確認
A銀行の融資見積もりAPIにアクセスして、一番下のGETメソッド①「/loans/quote」をクリックして展開します。
②年間利子率、③融資額(借入金)、④返済期間(月)をパラメータとして指定すると、毎月の返済額を元利均等返済で計算します。
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}
API ManagerからAPIを新規に作成
タイトル:Loans
基本パス:/loans/v1
バージョン:1.0.0
説明:返済額見積もり
メッソドを定義します。
②でPOSTメソッドを削除します。
メソッドを定義します。
パス:/quote?apr=1.5&amount=200000&term=60
要約:A銀行ローン
説明:返済見積もり
パス情報は、A銀行のAPIのRequest URLからコピーします。
APIパラメーターの設定
amount:融資額
apr:年間利子率
term:返済期間(月)
④必須にチェックを入れます。
HTTPステータスコード200の場合の応答を定義します。
応答の例 {"monthly_payment": 3461.98}
プロキシーURLとしてA銀行のローンAPIのエンドポイントを指定します。
プロキシーURLは、A銀行のAPIのRequest URLからコピーします。
③https://apim-services.mybluemix.net/banka/v1/loans/quote
プランを作成してAPIを追加
APIを公開するためにプランを作成します。
タイトル:Standard
説明:標準プラン
プランにAPIを追加します。
StandardプランにLoansのAPIが追加されていることを確認します。
プランのステージを行います。
ステージ先として、Sandboxを選択します。
プランの公開
アプリからAPIを利用
作成したAPI「Lotans」がカスタムAPIサービスとして登録されていることを確認します。
(表示されていない場合は一度ログアウトし、再度ログインします。)
作成したAPI「Loans」をカスタムAPIサービスとしてNode.jsランタイムに追加します。
動作確認
②+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をコールすると結果が変わることを確認できます。
APIの仕様状況を確認
最後に
自分でプラン定義をしてAPIの商品化が出来ることに凄くワクワクしました。
当日は他にもAssmble APIの作成も行いました。GoogleMapのAPIも使い支店情報を表示させました。
12月3日にも同様のハンズオンが有るようですので、是非是非参加してみてください!
お菓子とジュースもついています!
AdventCalender - Bluemix - day1