APIの動作確認やデバッグに便利なInsomniaの使い方

公開日:2019/07/16 更新日:2019/07/16
APIの動作確認やデバッグに便利なInsomniaの使い方のサムネイル

insomnia.png Image Credit : https://insomnia.rest/

はじめに

APIサーバの開発時にブラウザやコマンドを使って毎回動作確認したりデバッグしたりするのは効率的とは言えず大変だと思います。そこで便利なのがAPIサーバにHTTPリクエストを送ってそのレスポンス内容を確認できるAPIクライントです。この記事では、APIクライントとしての機能も充実していて、UIも綺麗なInsomniaの簡単な使い方をまとめます。

前提と環境

ここではUbuntuにインストールしますが、InsomniaはWindows、MacOSにも対応しています。またインストール手順のみ異なり使い方は同じになります。

  • OS : Ubuntu18.04

Insomniaについて

Insomniaは、その他のAPIクライントの基本機能は備えており、以下のようにGETやPOSTリクエストをAPIサーバに送って、それに対するレスポンスを確認できます。

insomnia-example-official.png Image Credit : https://insomnia.rest/

また、後述しますが、動作確認用に作成したGETやPOSTリクエストを各言語(例えばC、Node.js、PHPなど)で自動生成する機能もあります。以下が公式サイトになります。

insomnia.rest

Debug APIs like a human, not a robot

UbuntuにInsomniaをインストールする手順

はじめにUbuntuへのインストール手順をメモしておきます。WindowsとMac OSについては、こちらの公式ダウンロードページからインストーラをダウンロードして実行するだけです。 Ubuntuの場合もインストールは簡単で、リポジトリと公開鍵を追加してaptでインストールするだけです。以下にコマンドを載せます。インストール手順が不要な場合は飛ばしてください。

# リポジトリをソースリストに追加
$ echo "deb https://dl.bintray.com/getinsomnia/Insomnia /" \
    | sudo tee -a /etc/apt/sources.list.d/insomnia.list

# 公開鍵を追加
$ wget --quiet -O - https://insomnia.rest/keys/debian-public.key.asc | sudo apt-key add -

上記を実行後、以下でインストールします。

$ sudo apt update
$ sudo apt install insomnia

以上でInsomniaのインストールは完了です。

基本的な使い方

Insomniaを起動すると、以下のようなウィンドウが開きます。以降で基本的な使い方を説明します。

Insomnia_started.png

ワークスペースを作成、切り替える

Insomniaではワークスペース毎にAPIリクエストとレスポンスをまとめることができます。ワークスペースを作成するには、以下のように下三角マークをクリックして、その中にある「Create Workspace」をクリックします。

create-workspace.png

すると以下のようにワークスペースの名前を入力するためのダイアログが開くので、適当に入力して「Create」をクリックします。

set-workspace-name.png

これでワークスペースの作成が完了です。 ワークスペースは複数作成可能で、切り替えたい場合は以下のように作成済のワークスペースをクリックして切り替えます。

switch-workspace.png

HTTPリクエストを作成する

HTTPリクエストを作成するには、以下のように赤矢印の先にある「+」マークをクリックするとメニューが開き、「New Request」という項目があるのでこれをクリックします。

create-menu.png

すると以下のようにリクエスト名とHTTPリクエストの種類を選択するダイアログが開くのでそれぞれ入力と選択して「Create」をクリックします。

create-request.png

以下のようにAPIリクエストの項目が追加されます。ここでHTTPリクエストの送信先のURLを入力して、「Send」を送信すればAPIサーバへHTTPリクエストが送信されます。

send-request.png

レスポンスは以下のように右側に表示されます。以下は適当なURLを入力したため「Error」と赤く表示されていますが、成功するとHTTPレスポンスコードの「200」や「201」、「404」などが表示されて詳細も確認できるようになります。

result-pane.png

HTTPリクエストの説明を加える

以下のように、「Docs」タブをクリックして「Add Description」をクリックします。

add-docs.png

すると以下のようにそのHTTPリクエストの説明を記載するダイアログが開きます。なお、ここではマークダウンでの記述に対応しています。また、保存ボタンなどはなく自動的に保存されます。

detail-request.png

認証付きHTTPリクエストを作成する

以下のように「Auth」タブをクリックすると、APIサーバの認証方法を選択できます。

set-auth.png

例えばJWT認証などを使っている場合は、上記のメニューの中で「Bearer Token」を選択して、以下のようにJWTの値を設定した上で「Send」をクリックしてHTTPリクエストを送信します。

set-token.png

なお、トークンの値の前後に"は不要です。

JWTトークンを取得したい場合は、以下は例ですが「POST」でemailpasswordをJSON形式で送ればレスポンスとしてJWTトークンが返ってきます。

jwt-example.png

HTTPリクエストからのコード生成機能

Insomniaのユニークな機能として、HTTPリクエストからのコード生成機能があります。この機能は、HTTPリクエストの内容を元に色々な言語でそのHTTPリクエストを実現するためのコードを生成して表示してくれます。この機能を使うには、作成済のHTTPリクエストの名前上(例えば以下の画像では、「アイテム一覧」)で右クリックして開くメニューから、以下のように「Generate Code」をクリックします。

menu-generate-code.png

「Generate Code」をクリックすると、以下のように指定された言語でのHTTPリクエスト実行のためのコードが表示されます。

example-generate-code.png

以下のように色々な言語に対応しています。

select-lang.png

まとめ

これからAPIを開発する方や、すでに開発しているものの別途どこかにAPIのURLや説明を貼り付けている方にはInsomniaは便利です。

関連記事

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。