レッスン 2

ヘッダー、メソッド、ボディ

`-X`、`-H`、`-d` オプションを明確な HTTP リクエストモデルに対応付けます。

ほとんどの cURL からコードへの変換は、3 つの概念を中心に回ります。メソッド、ヘッダー、ボディです。

メソッド

-X または --request で HTTP メソッドを設定します。

curl -X PATCH https://api.example.com/users/42

-X がない場合、cURL は通常 GET を送ります。-d がある場合、cURL は多くの場合 POST を送ります。

ヘッダー

-H または --header でヘッダーを追加します。

curl -H "Accept: application/json" -H "X-Request-Id: demo-1" https://api.example.com

HTTP 規則上ヘッダー名は大文字小文字を区別しませんが、アプリケーションコードでは可読性のために名前を明確に保持すべきです。

ボディ

-d--data--data-raw--data-binary でボディ内容を添付します。

curl -H "Content-Type: application/json" -d '{"name":"Ada"}' https://api.example.com/users

ボディは単なるバイト列です。Content-Type ヘッダーが、サーバーにそのバイト列の解釈方法を伝えます。

フォームと JSON は異なる

これらは同等ではありません。

curl -d "name=Ada&role=admin" https://api.example.com/users
curl -H "Content-Type: application/json" -d '{"name":"Ada","role":"admin"}' https://api.example.com/users

前者はフォーム形式のデータ、後者は JSON です。コンバーターは両方を翻訳できますが、アプリケーション側でもサーバーが同じコンテンツタイプを期待している必要があります。

実践したいときは関連する DevCove ツールを使えます。任意であり、このレッスンの必須部分ではありません。

関連ツールを開く

コース概要へ戻る