やること
IBM API ConnectのDeveloper Toolkit(API開発ツール)のv2がリリースされていたので,v1との違いを追っていく。
実際さわって,目でみて気づいた部分なのでGUI部分がほとんど。
※実際に試していて気づいた部分のまとめなので漏れは気にしていない
※実はv2.x.xではなく,v1.x.xの段階で取り込まれている機能があるかもしれない
ちなみに,API Connectって何?の場合は,以下を一読して頂くのが良いと思います。
Node.jsのバージョン切り替えに興味がある場合は,MacでNode.jsのバージョン管理を参考にしてください。
apiconnect v2 変更箇所まとめ
手順の流れや,画面イメージ等が不要であれば,このセクションのみの確認でOK。
- apic loopback <アプリ名>ができなくなった
- apic loopback実行後に,インタラクティブ形式の中でアプリ名を入力する方法のみに変更
- サンプル(notes)追加
- empty-server
- hello-world
- notes <--- New
- API Designer(GUI)上でできることの追加・変更
- Settingボタン追加 (GUI上でのアプリ表示名の変更)
- サーバーの始動・停止方法の変更
- ログ閲覧機能
- データソース設定で,テスト接続ボタンが追加 [v1.0.3時点で変更]
環境
- Mac OS X El Capitan 10.11.4
- Node.js v4.2.2
- npm v3.8.5
- PostgreSQL v9.5.2
- Python v2.7.9
- apiconnect v2.0.18
前提
- Node.js が使える環境 ( > v4.x )
- npm install が実行可能 ( > v3.x )
- インターネット接続環境
であれば,Windowsでも,Linuxでも問題ないはず ※Linuxは確認済
apiconnect v2のインストール
apiconnectの新規,インストール済に関わらず,以下のコマンドでapiconnectモジュールのインストールが可能。
$ npm install -g apiconnect // インストール
$ apic -v // バージョン確認
2016年6月5日時点で,apiconnect本体は,v2.0.18であることが確認できる。
含まれる各モジュールの多くはv2になっているが,一部v1系も残っている模様。
apiconnect v2 変更箇所の確認
ここから順に以下の変更箇所を画面イメージ付きで確認する。
- apic loopback <アプリ名>ができなくなった
- サンプル(notes)追加
- API Designer(GUI)上でできることの追加・変更
- データソース設定で,テスト接続ボタンが追加 [v1.0.3時点で変更]
apic loopback <アプリ名>ができなくなった
- apic loopback実行後に,インタラクティブ形式の中でアプリ名を入力する方法のみに変更
これまでは,新規LoopBackアプリを作成する場合,2つパターンがあった。
$ apic loopback
$ apic loopback apic-v2 // v2からは使用不可
v2からは,後者のパターンができなくなった。以下のようにエラーが表示される。
前者の方法でコマンド入力した後,下図のようにインタラクティブに入力する中でアプリ名を指定することになる
サンプル(notes)追加
- empty-server
- hello-world
- notes <--- New
- モデル: note
- データソース: db(オンメモリ)
- 上記が事前構成済で,すぐにテスト可能
API Designer(GUI)上でできることの追加・変更
- Settingボタン追加 (GUI上でのアプリ表示名の変更)
- サーバーの始動・停止方法の変更
- ログ閲覧機能
- データソース設定で,テスト接続ボタンが追加 [v1.0.3時点で変更]
Settingsボタン追加 (GUI上でのアプリ表示名の変更)
"Settings"ボタンを選択すると,以下図が表示される。
項目としては,表示名,名前,プロジェクト・ディレクトリーがあり,"表示名"を変更することができる。
変更した後が以下図
(変更前) apic-v2
(変更後) apic-v2_sample
loopbackコマンドで新規アプリ作成を行った場合には,入力したアプリ名がそのまま使われてしまう。
このため,もっと分かりやすい名前に変更したい場合に使うのだろうか・・・
(個人的には,"名前(API名)"を変更し,プロジェクト内に一括適用できたら嬉しい。今後に期待)
サーバーの始動・停止方法の変更
- "実行"ボタンがなくなり,"▶"や,"■"で始動・停止を行う形式に変更
- API Designerの最下部にボタンが追加されている
"▶"ボタンで始動した状態
Runningと表示され,ゲートウェイ(4002),アプリ(4001)が稼働していることが分かる。
ログ閲覧機能
API Designer (GUIの開発ツール)上で,ログを閲覧できるようになった。
画面右下にあるギアのマーク(設定アイコン)を選択すると,ビューが開く。
MicroGateway(4002),アプリケーション(4001)の始動・停止などのログを確認できる。
※ギアのマーク(設定アイコン)の2つ隣にあるプラスマーク(PCアイコンにプラスボタンが埋め込まれている感じ)を選択すれば,ログ画面を最大化できる
また,ブラウザ上でゲートウェイ/アプリのプロセスが正常に稼働しているかをすぐに確認できる。
(始動・停止アイコンのあるビュー上に存在するリンク)
- Micro Gateway: https://127.0.0.1:4002/
- アプリケーション: http://127.0.0.1:4001/
URLを叩けば済む話だが,開発時のムダをなくす配慮の1つだと思われる。
(起動したらとりあえずリンクで確認するという手順を自然とやっている)
以下にリンクを開いた際の画面イメージを示す。
アプリケーション: http://127.0.0.1:4001/
始動した時間,稼働累積時間が表示されており,APIアプリケーションが稼働していることが確認できる。
Micro Gateway: https://127.0.0.1:4002/
一見エラーが出ているようだが,ゲートウェイ(4002)までは到達していることが分かるため,稼働確認は行える。
ゲートウェイでは,CORS,認証設定,流量制御など,様々なポリシーを設定できる。ゲートウェイを通ったリクエストに対してポリシーが適用されるため,ポリシーを利用する場合は,4002へのリクエストを送る形になる。
ここでエラーが出ているのは,クライアントIDやシークレットが欠けているためである。
例えば,cURLで以下のようなフォーマットで実行すると,200OKの応答を確認できる。
$ curl --request GET \
--url 'https://localhost:4002/api/Notes' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-ibm-client-id: default' \
--header 'x-ibm-client-secret: SECRET'
※LoopBackアプリ作成時に,サンプルとしてNotesを選択している場合のGETリクエスト例
データソース設定で,テスト接続ボタンが追加 [v1.0.3時点で変更]
以前は,接続情報を入力した後,その場で接続テストができなかった。
正確には,"探索"ビューでAPI呼出しのテストを行えるが,事前にDB接続のテストができない状態だった。
画面右上に,"ヒトが走っているボタン"があり,このボタンで接続テストが可能になった。
※接続情報の入力・変更時には,保存ボタン押下の際に接続テストが自動的に行われる
まとめ
以上,apiconnectモジュール v2.0.18のリリースに伴い,ざっと確認できた変更箇所について記載した。
- apic loopback <アプリ名>ができなくなった
- サンプル(notes)追加
- API Designer(GUI)上でできることの追加・変更
- データソース設定で,テスト接続ボタンが追加 [v1.0.3時点で変更]
あれも欲しい,これも欲しい,といった機能はまだまだあるが,比較的短いスパンでアップデートされているので今後も楽しみ。