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で一般的です。