Co to znaczy
Serwer wymaga, aby żądanie było warunkowe (If-Match itp.), aby zapobiec utracie zmian.
Typowe przyczyny
- PUT lub PATCH bez If-Match w API wymuszającym blokowanie optymistyczne
Jak naprawić
Jako klient lub odwiedzający
Pobierz zasób przez GET, weź jego ETag i wyślij go w If-Match razem z aktualizacją.
Jako właściciel strony lub API
Wyjaśnij w treści, który nagłówek jest wymagany.
Przykładowa odpowiedź
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."
} Specyfikacja
FAQ
› Dlaczego API wymaga If-Match?
Aby dwaj klienci nie nadpisali sobie nawzajem zmian, nie zauważając tego.
› 428 czy 412?
428: nie wysłano żadnego warunku. 412: wysłano, ale nie został spełniony.