Menu
Coddy logo textTech

復習:データを書き込む

Coddyの「ターミナルで学ぶネットワーク」コースのレッスン 37/47。

データの送信は、3つの判断に集約されます。

どのメソッドを使うか。 -d は自動的に POST になり、-X はそれ以外のものを指定します。POST は送信し、PUT は指定した場所に保存し、DELETE は削除します。

ボディの内容は何か。 フォームデータには -d 'a=1&b=2' を、API には JSON 文字列を使います。人が入力した内容には --data-urlencode を使ってください。

どのようにラベル付けするか。 curl は、明示的に指定しない限りフォームエンコードだと判断するため、JSON には -H 'Content-Type: application/json' が必要です。これを忘れることが、この章で最もよくある間違いです。

curl -s -X PUT -H 'Content-Type: application/json' \
     -d '{"role":"admin"}' http://127.0.0.1:9127/users/3

そして、迷ったときはリスナーに送信して、リクエストを読み返してください。

challenge icon

チャレンジ

章全体を 1 つのリクエストにまとめます。

  1. ポート 9127 でキャプチャリスナーを開始します
  2. JSON ボディ {"role":"admin"} を付けて、正しくラベル付けした PUThttp://127.0.0.1:9127/users/3 に送信します
  3. リクエスト行、次に Content-Type 行、最後にボディを出力します

期待される出力:

PUT /users/3 HTTP/1.1
Content-Type: application/json
{"role":"admin"}

自分で試してみよう

ターミナル
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ターミナルで学ぶネットワークのすべてのレッスン

自分で練習してみよう: Terminalプレイグラウンド