APIサーバの動作確認をどうやるか。それが問題だ。
APIサーバ全盛期のサーバサイドですが、RESTベースのAPIサーバとなるとブラウザからでは動作確認が面倒です。
そこで何か良いツールは無いかな? と思ったらInsomniaというツールを見つけました。
有償プランもあるツールですが、無償で使える範囲でも十分便利に使えます。
注意: InsomniaXという別のツールがありますが、これは全く違うツールです。
起動
起動するとこんな感じの画面が出ます。
一番左が保存したAPIリクエストや環境設定、真ん中がリクエスト内容、右がレスポンス結果です。
真ん中の部分で送信するURLとメソッド、パラメータ・ヘッダ内容を選択して"Send"ボタンを押すと、結果が右側に表示されます。
さて、ここまでは類似のツールでもよくあることです。
ここでInsomniaにある便利な機能をご紹介。
environment切り替え
同じAPIだけど、ローカルやdev環境ごとにホスト名が違ったりするのを別々のAPIとして保存するのは時間の無駄です。
環境ごとに異なるパラメータを"environment"として定義することで、それをワンクリックで切り替えることができます。
例えば、"local", "dev1", "dev2"という3つの環境があってホスト名が
- local: api.localhost
- dev1: api.dev1.example.com
- dev2: api.dev2.example.com
だとするなら、このような3つの"environment"を作成して、環境に依存するデータを保存しておけば
APIのURLは以下のように書くことができます。
{{basename}}
が選択した"environment"のbasename
の値で置換されるわけですね。
この置換はヘッダ指定などにも使うことができますので、認証情報(ユーザ名・パスワード、トークン)などを環境ごとに切り替えることも可能です。
コマンド生成
さらに便利なのは、コマンド生成機能です。右クリックから"Generate Code"を選択すると、
さまざまな言語のさまざまなツールで同等の結果を得るためのコードを得ることができます。
このコード生成機能があれば、このツールがない環境でも同じリクエストを実行することができますし、プログラムコードに組み込むことができます。
できればこんな機能が欲しい。
非常に便利なInsomniaですが、あともう少し。という部分もあります。
AuthタブがDigest認証や、Bearer認証にも対応してほしい。
リクエストにAuth
というタブがあって、Authorization
ヘッダを生成してくれるのですが、Basic認証のみの対応でDigest認証や、Bearer認証には対応していません。
しょうがないので、Headers
タブでAuthorization
ヘッダを自前で追加する必要があります。ぜひDigest認証や、Bearer認証にも対応してほしいところです。1
Validate SSL Cetrificates を environment ごとに設定できるようにしてほしい。
https通信時に証明書の検証を行うかどうかをValidate SSL Cetrificates
という設定で選択できます。
ローカル環境ではオレオレ証明書で運用することが多いので、この設定がないと困ります。
しかし、この設定はグローバルオプションとなっているので、環境ごとの設定ができません。
ちゃんとした環境では証明書の検証を行う必要がある。というときに不便です。
proxyの設定も同じでグローバルオプションになっているようです。
詳しいドキュメントは
こちらを参照してください。
良いAPIライフを。
-
(2017-06-07追記) Digest認証はVersion 5.0.1で、Bearer認証はVersion 5.2.0で対応となりました。 ↩