復習:データを書き込む
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そして、迷ったときはリスナーに送信して、リクエストを読み返してください。
チャレンジ
章全体を 1 つのリクエストにまとめます。
- ポート 9127 でキャプチャリスナーを開始します
- JSON ボディ
{"role":"admin"}を付けて、正しくラベル付けした PUT をhttp://127.0.0.1:9127/users/3に送信します - リクエスト行、次に Content-Type 行、最後にボディを出力します
期待される出力:
PUT /users/3 HTTP/1.1
Content-Type: application/json
{"role":"admin"}自分で試してみよう
ターミナル
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ターミナルで学ぶネットワークのすべてのレッスン
自分で練習してみよう: Terminalプレイグラウンド