Postmanを利用してAPIを便利に使う

 はじめに

vSphere API を例として、以下の方法を紹介します。
    • Postman に vSphere API を Import する
    • Postman から vSphere API を実行する
    • 実行した API のコードを取り出す(cURL and Python)

Postman をインストール

何も難しいことはありません。

以下のサイトからダウンロードして、Installer を実行すればよいだけです。

https://www.postman.com/downloads/


Postman の利用にはアカウント登録が必要になるようです。Google アカウントを利用することもできますし、Postman 用にアカウントを作成しても構いません。


vSphere API の Spec ファイルを入手する

以下の github から入手できます。 

https://github.com/vmware/vsphere-automation-sdk-rest/find/master



上記の4つのJsonファイルがありますので、それぞれを開きます。



開いたページで "Raw" のボタンがあるので、右クリックして



"Save link as..." を選んで、PC にファイルとして保存します。

この4つのファイルが vSphere API の API Spec ファイルです。


Spec ファイルを Import する


保存したものを Postman に Import します。

左上の Import ボタンを押して、



ファイルをアップロードします。



すると、Postman の Collections のタブに Import した vSphere API が現れます。


これで Import 完了です。



Postman に vSphere 用の環境変数を登録して、API を実行する

Postman に環境変数を登録しておくと非常に便利です。
毎回、IPアドレスや認証情報を入力しなくてすみます。


下図はvSphere API の Login を実施している様子です。
このまま Send ボタンを押してもリクエストは失敗します。
環境変数を設定することでリクエストが成功します。



上記の {{vc}} や、 {{user}} 、 {{password}} が環境変数に該当します。
右上のアイコンから環境変数を設定できます。



Add ボタンを押して環境変数のグループと、グループ配下の環境変数を設定します。



下図のように環境変数グループ(vSphere 7 )を設定し、環境変数として、 vc, user, password を設定します。 




環境変数グループを設定したら、右上のドロップダウンリストから、作成したグループを選択します。



この状態で最初の Login リクエストを実施すると今後は成功します。
Response Body に"value"として ID が返ってきていることがわかります。




上記の実行後、Postman の右側 Cookie ボタンから Cookie を確認します。
vmware-api-session-id が格納されていることが確認できると思います。





この状態でほかのリクエストを実施してみます。
試しに https://{{vc}}/rest/vcenter/host を実行してみます。





上記を実行するとリクエストが成功し、host の情報が返されることが確認できるはずです。




cURL や python での実行コードを表示する

Postman の右側にある Code のボタンを押すと、同じリクエストをその他のプログラミング言語で実施する際のコードを表示することができます。

以下は python のコードを表示しているところです。



しかしながら、このままでは SSL 証明書のチェックで引っかかりますので、コードを利用する場合は、SSL 証明書のチェックを無効にしたほうが良いです。

以下の例では、verify=False を追加してます。
コードをコピーする際は右上のアイコンからコピーすると便利です。



cURL の場合は以下です。 -k を追加すると証明書のチェックを無効化できます。 




まとめ

この記事では、Postman に vSphere API の Spec ファイルをインポートし、vSphere API を実行したのちに、コードを表示する手順を説明しました。特に vSphere API に限らず、REST API であれば全般的に利用できる手法ですので、普段ご利用の API のテストやプログラミング言語への実装などの際にご活用ください。 

 

 

 

 

 

 

コメント

このブログの人気の投稿

vSwitchにSTPが不要な理由

ESXi に DNS サーバを何個まで登録できるか

障害でVDSから切断されたVCSAの復旧方法