JSON Patch(RFC 6902)のContent-Type

RFC 6902で定義されたJSON Patchオペレション用のContent-Typeヘッダーを設定します。application/json-patch+jsonメディアタイプを解説します。

JSON APIs

詳細な説明

JSON Patchメディアタイプ

JSON Patch(RFC 6902)は、JSONドキュメントへの変更を記述するフォーマットを定義しています。サーバーがボディにパッチオペレーションが含まれていることを認識できるように、独自のメディアタイプを使用します。

ヘッダー値

Content-Type: application/json-patch+json; charset=utf-8

JSON Patchフォーマット

JSON Patchドキュメントはオペレーションオブジェクトの配列です:

[
  { "op": "replace", "path": "/email", "value": "new@example.com" },
  { "op": "add", "path": "/phone", "value": "+1-555-0100" },
  { "op": "remove", "path": "/fax" }
]

サポートされるオペレーション

オペレーション 説明
add 指定パスに値を追加
remove 指定パスの値を削除
replace 指定パスの値を置換
move あるパスから別のパスに値を移動
copy あるパスから別のパスに値をコピー
test 指定パスの値が与えられた値と等しいかテスト

関連:JSON Merge Patch

よりシンプルな部分更新には、application/merge-patch+jsonを使用するJSON Merge Patch(RFC 7396)を検討してください。オペレーションオブジェクトなしで変更したいフィールドだけを送信できます。

curlの例

curl -X PATCH \
  -H "Content-Type: application/json-patch+json" \
  -d '[{"op":"replace","path":"/name","value":"New Name"}]' \
  https://api.example.com/users/123

ユースケース

JSON Patchを使用してREST APIリソースの部分更新を行う際に使用します。ASP.NET Core、Spring Boot、FastAPIエンドポイントなど、HTTP PATCHメソッドを正しく実装するAPIで一般的です。

試してみる — Content-Type Header Builder

フルツールを開く