Edited at
BluemixDay 1

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

More than 3 years have passed since last update.

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