JSON Patch, işlemlerden oluşan bir JSON dizisidir — add, remove, replace, move, copy ve test — ve her işlem hedef belgedeki bir konumu /tags/0 gibi bir JSON Pointer ile adlandırır. Content-Type application/json-patch+json ile bir PATCH isteğinin gövdesi olarak gönderildiğinde, sunucuya kaynağın tamamının yeni bir kopyasını göndermek yerine tam olarak neyi değiştireceğini söyler.
İşlemler sırayla uygulanır ve yamanın atomik olması beklenir: herhangi bir işlem başarısız olursa hiçbiri etkili olmamalıdır. test işlemi yerleşik bir ön koşuldur — “bu yamayı yalnızca /status hâlâ draft ise uygula” — ve JSON Patch’i alan düzeyinde hafif bir iyimser eşzamanlılık biçimi yapar.
PATCH ile gönderilen kısmi bir JSON nesnesinin JSON Patch olduğu sanılır. O, null’ın “bu alanı sil” anlamına geldiği ve dizilerin yalnızca bütün olarak değiştirilebildiği farklı bir biçim olan JSON Merge Patch’tir (RFC 7396). Sunucular genellikle birini ya da ötekini kabul eder; aradaki farkı Content-Type söyler.
PATCH /protocol/v1/documents/{id} bir RFC 6902 dizisi alır: /title, /body ve /tags üzerinde add, replace, remove ve test — başarısız bir test 409, dizi olmayan bir gövde 400 döner.
Tüm sözlük maddeleri · Test teknikleri · 39 mock REST API’nin tamamı
Son güncelleme