DevToolPal
IT
4xx Errori del client

409 Conflict

Conflitto

Cosa significa

La richiesta è in conflitto con lo stato attuale della risorsa, per esempio un duplicato o una modifica concorrente.

Cause comuni

  • Creazione di un record già esistente (email o nome univoco)
  • Modifica di una risorsa cambiata da qualcun altro
  • Un conflitto di versione o di stato in stile git

Come risolvere

Lato client o visitatore

Recupera lo stato più recente, risolvi il conflitto o scegli un altro valore, poi riprova.

Lato gestore del sito o dell’API

Spiega nel corpo cosa è in conflitto. Per il locking ottimistico con ETag, il 412 è lo stato più preciso.

Risposta di esempio

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."
}

Specifica

RFC 9110 §15.5.10

Domande frequenti

› 409 o 422 per un'email duplicata?

Si usano entrambi. Il 409 si adatta a un conflitto con dati esistenti; il 422 a un framework di validazione. Sii coerente.

› I client devono ritentare un 409 automaticamente?

No; il conflitto di solito richiede una decisione. Aggiorna prima i dati.