Postman 入門:APIのリクエスト送信・環境変数・Collectionの使い方

スポンサーリンク

Postman はAPIの動作確認・テストに使うGUIツールです。ブラウザやcurlでは確認しづらいヘッダー・認証・リクエストボディを視覚的に設定でき、チームでリクエストを共有することもできます。

インストール

公式サイト(https://www.postman.com/downloads/)からダウンロードしてインストールします。

macOSの場合はHomebrewでも入ります。

brew install --cask postman

アカウントなしでも使えます(ローカル専用の「Lightweight API Client」として起動できます)。

基本操作:リクエストを送る

GETリクエスト

  1. 「+」タブで新しいリクエストを開く
  2. メソッドを GET に設定
  3. URLを入力して Send
GET https://jsonplaceholder.typicode.com/posts/1

レスポンスボディ・ステータスコード・レスポンス時間がその場で確認できます。

クエリパラメータを付ける

URLに直接書くか、Params タブでキー・バリューを入力します。Paramsタブに入力すると自動的にURLに反映されます。

GET https://jsonplaceholder.typicode.com/posts?userId=1&_limit=5

POSTリクエスト(JSONボディ)

  1. メソッドを POST に変更
  2. Body タブ → raw → 右端のドロップダウンで JSON を選択
  3. JSONを入力して Send
{
  "title": "記事タイトル",
  "body": "本文テキスト",
  "userId": 1
}

Content-Typeヘッダーは raw + JSON を選ぶと自動でセットされます。

PUT / PATCH / DELETE

メソッドのドロップダウンから選ぶだけで、あとは同じ操作です。

ヘッダーを設定する

Headers タブでキー・バリューを追加します。

Key Value
Authorization Bearer eyJhbGci...
X-API-Key your-api-key
Accept application/json

よく使うヘッダーはオートコンプリートで補完されます。

認証を設定する(Authorizationタブ)

Authorization タブを使うと、ヘッダーを手動で書かずに認証を設定できます。

Bearer Token

  1. Auth TypeBearer Token を選択
  2. トークンを入力

自動で Authorization: Bearer <token> ヘッダーが付きます。

Basic認証

  1. Auth TypeBasic Auth を選択
  2. Username・Passwordを入力

API Key

  1. Auth TypeAPI Key を選択
  2. Key・Value・追加先(Header または Query Params)を設定

Environment(環境変数)でURL・トークンを管理する

開発環境と本番環境でベースURLやトークンが違う場合、Environmentを使うと一元管理できます。

Environmentを作る

  1. 右上のドロップダウン(「No Environment」) → + または Manage Environments
  2. 環境名(例:devprod)と変数を設定
Variable Current Value
base_url http://localhost:3000
token dev-token-xxx

変数をリクエストで使う

{{変数名}} の形式で参照します。

GET {{base_url}}/api/users

Headersタブでも使えます。

Key Value
Authorization Bearer {{token}}

右上のドロップダウンで dev / prod を切り替えるだけで、全リクエストのURLとトークンが一括で変わります。

Collection:リクエストをまとめて整理する

CollectionはリクエストをフォルダKorea構造で管理する仕組みです。チームで共有したり、一括実行したりできます。

Collectionを作る

  1. 左サイドバーの Collections+
  2. Collection名を入力(例:User API
  3. リクエストを作成してCollectionに保存(SaveダイアログでCollectionを指定)

フォルダで整理する

Collection内にフォルダを作ってエンドポイントをグループ化できます。

User API
├── Users
│   ├── GET /users
│   ├── GET /users/:id
│   ├── POST /users
│   └── DELETE /users/:id
└── Auth
    ├── POST /login
    └── POST /logout

Collection Runnerで一括実行する

Collectionを選択 → Run でフォルダ内のリクエストを順番に実行できます。

Testsタブ:レスポンスを自動検証する

Tests タブにJavaScriptでテストを書くと、Send後に自動で検証が走ります。

ステータスコードを確認する

pm.test("ステータスコードが200", () => {
  pm.response.to.have.status(200)
})

レスポンスの値を確認する

pm.test("idが1である", () => {
  const body = pm.response.json()
  pm.expect(body.id).to.equal(1)
})

pm.test("nameが存在する", () => {
  const body = pm.response.json()
  pm.expect(body.name).to.be.a('string')
})

レスポンスの値を変数に保存する(ログイン後のトークン取得)

const body = pm.response.json()
pm.environment.set("token", body.token)

ログインのリクエストでトークンを取得して環境変数に保存しておくと、次のリクエストで {{token}} として使えます。

よく使う機能まとめ

機能 場所 用途
Params リクエストタブ内 クエリパラメータを設定
Headers リクエストタブ内 リクエストヘッダーを設定
Authorization リクエストタブ内 認証をGUIで設定
Body リクエストタブ内 リクエストボディを設定
Tests リクエストタブ内 レスポンスの自動検証
Environment 右上ドロップダウン 環境ごとの変数を管理
Collection 左サイドバー リクエストをまとめて整理・共有

まとめ

1. リクエストを作る(メソッド・URL・ボディ・ヘッダーを設定)
2. Environmentでbase_url・tokenを変数管理(dev/prod切り替え)
3. Collectionでリクエストを整理してチームと共有
4. Testsタブでレスポンスを自動検証

curlでAPIを叩く方法は「curl入門:GET・POST・PUT・認証・クッキーの使い方まとめ」を参照してください。

macOSでローカルネットワークへのアクセスが許可されていないとPostmanから内部APIに繋がらない場合があります。「MacでローカルネットワークへのアクセスをiTerm2やTerminalで誤って不許可にした場合の直し方」も参照してください。