Postman : x-www-form-urlencoded 形式データのPOST
前回の記事ではmultipart/form-data
とバイナリデータのアップロード機能をテストしました。Postmanにはリクエストボディには以下の値を挿入できます。
・multipart/form-data
・x-www-form-urlencoded
・Raw
・Text
・JavaScript
・JSON
・HTML
・XML
・バイナリ
・GraphQL
今日はx-www-form-urlencoded
をテストしていきます。
x-www-form-urlencoded
Web API やフォーム送信でよく登場する データのエンコード方式 のひとつで、HTTP リクエストの 本文(Body) に、キーと値のペアをクエリ文字列のように詰め込んで送信します。
ヘッダーには以下の値がセットされます。
Content-Type: application/x-www-form-urlencoded
以下の様に複数の値をペアで取り扱うことができます。
key1=value1&key2=value2&key3=value3
日本語や記号は URL エンコードで処理されます。
さっそくやってみる
1. POSTを付けるエンドポイントの作成とテスト
ではテストをしてみます。いつも通り Request Catcher を使っていきます。
適当な名前を入力してGet started
をクリックすると新しいエンドポイントが一瞬で作成されます。
まずはボディを空欄でそのままPOSTのテストを行います。
以下の様にRequest CatcherではPOSTを受け取っていることがわかります。
2. x-www-form-urlencoded のテスト
例えば以下の様にデータを入力して送信
をクリックします。
このように複数値が Key Value ペアでPOSTされていることがわかります。
ヘッダーはContent-Type: application/x-www-form-urlencoded
が自動でセットされています。
2-1. パラメータの一括編集
送信
ボタンの下にある一括編集
をクリックします。
このように複数行でKey Valueのペアを記載することができます。
送信
をクリックすると実行結果は上記と同じになります。
Postmanが生成するcurlコマンドは以下の様になっています。
curl --location 'https://kameda.requestcatcher.com/' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'username=12345' \
--data-urlencode 'age=40'
3. curlコマンドのインポート
curl で x-www-form-urlencodedを使う場合、以下の様なコマンドになり、Key Value1組ごとに1行ではなく、まとめて&
でつないで処理を行うケースが一般的です。
curl -X POST https://kameda.requestcatcher.com/ \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=12345&age=40"
curlコマンドをインストールするPostmanの機能を使うとそのままインポートしてPostmanの x-www-form-urlencoded用に変換してくれます。
4. URL エンコードのテスト
日本語文字や記号はPostmanが自動でURLエンコードしてくれます。
![](https://storage.googleapis.com/zenn-user-upload/c744f01684aa-20250909.png
username=12345&age=4%20%200&jpname=%E4%BA%80%E7%94%B0%20
Discussion