Postman はAPIの動作確認・テストに使うGUIツールです。ブラウザやcurlでは確認しづらいヘッダー・認証・リクエストボディを視覚的に設定でき、チームでリクエストを共有することもできます。
インストール
公式サイト(https://www.postman.com/downloads/)からダウンロードしてインストールします。
macOSの場合はHomebrewでも入ります。
brew install --cask postman
アカウントなしでも使えます(ローカル専用の「Lightweight API Client」として起動できます)。
基本操作:リクエストを送る
GETリクエスト
- 「+」タブで新しいリクエストを開く
- メソッドを
GETに設定 - 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ボディ)
- メソッドを
POSTに変更 - Body タブ →
raw→ 右端のドロップダウンでJSONを選択 - 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
- Auth Type →
Bearer Tokenを選択 - トークンを入力
自動で Authorization: Bearer <token> ヘッダーが付きます。
Basic認証
- Auth Type →
Basic Authを選択 - Username・Passwordを入力
API Key
- Auth Type →
API Keyを選択 - Key・Value・追加先(Header または Query Params)を設定
Environment(環境変数)でURL・トークンを管理する
開発環境と本番環境でベースURLやトークンが違う場合、Environmentを使うと一元管理できます。
Environmentを作る
- 右上のドロップダウン(「No Environment」) → + または Manage Environments
- 環境名(例:
dev・prod)と変数を設定
| 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を作る
- 左サイドバーの Collections → +
- Collection名を入力(例:
User API) - リクエストを作成して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で誤って不許可にした場合の直し方」も参照してください。