Artinya
Server mewajibkan permintaan bersyarat (If-Match dan sejenisnya) untuk mencegah pembaruan yang hilang.
Penyebab umum
- PUT atau PATCH tanpa If-Match pada API yang menerapkan optimistic locking
Cara memperbaiki
Sebagai klien atau pengunjung
GET resource, ambil ETag-nya, dan kirim di If-Match bersama pembaruan Anda.
Sebagai pengelola situs atau API
Jelaskan di body header mana yang diwajibkan.
Contoh respons
HTTP/1.1
HTTP/1.1 428 Precondition Required
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Precondition Required",
"status": 428,
"detail": "Send If-Match with the ETag you last read."
} Spesifikasi
FAQ
› Mengapa API mewajibkan If-Match?
Agar dua klien tidak saling menimpa perubahan tanpa menyadarinya.
› 428 atau 412?
428: tidak ada prasyarat yang dikirim. 412: ada yang dikirim tetapi gagal.