DevToolPal
PL
4xx Błędy klienta

409 Conflict

Konflikt

Co to znaczy

Żądanie koliduje z bieżącym stanem zasobu, np. duplikat lub równoczesna edycja.

Typowe przyczyny

  • Tworzenie rekordu, który już istnieje (unikalny e-mail lub nazwa)
  • Edycja zasobu, który zmienił ktoś inny
  • Konflikt wersji lub stanu jak w git

Jak naprawić

Jako klient lub odwiedzający

Pobierz najnowszy stan, rozwiąż konflikt lub wybierz inną wartość i ponów.

Jako właściciel strony lub API

Wyjaśnij w treści, co koliduje. Dla blokowania optymistycznego z ETagami dokładniejszy jest status 412.

Przykładowa odpowiedź

HTTP/1.1
HTTP/1.1 409 Conflict
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json

{
  "type": "about:blank",
  "title": "Conflict",
  "status": 409,
  "detail": "A user with this email already exists."
}

Specyfikacja

RFC 9110 §15.5.10

FAQ

› 409 czy 422 dla zduplikowanego e-maila?

Używa się obu. 409 pasuje do konfliktu z istniejącymi danymi; 422 do frameworka walidacji. Bądź konsekwentny.

› Czy klienci powinni automatycznie ponawiać 409?

Nie; konflikt zwykle wymaga decyzji. Najpierw odśwież dane.