Wat het betekent
De server eist dat het verzoek voorwaardelijk is (If-Match enz.) om verloren updates te voorkomen.
Veelvoorkomende oorzaken
- PUT of PATCH zonder If-Match op een API die optimistische locking afdwingt
Zo los je het op
Als client of bezoeker
Haal de resource op met GET, neem de ETag en stuur die in If-Match mee met je update.
Als beheerder van de site of API
Leg in de body uit welke header vereist is.
Voorbeeldantwoord
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."
} Specificatie
Veelgestelde vragen
› Waarom zou een API If-Match eisen?
Om te voorkomen dat twee clients ongemerkt elkaars wijzigingen overschrijven.
› 428 of 412?
428: er is geen voorwaarde gestuurd. 412: er is er een gestuurd, maar die mislukte.