HTTP 422 Unprocessable Content

Codice di stato 422 · Classe 4xx

HTTP

Messaggio ufficiale (come appare sullo schermo): Unprocessable Content

Cercato anche come: error 422, HTTP 422, 422 unprocessable entity, 422 unprocessable content

Catena di una richiesta HTTP dal browser al server di origine, passando per CDN e proxy
Errori HTTP: individua quale passaggio della catena di richiesta è fallito e leggi i suoi log.

Che cosa significa

Il server ha capito il formato della richiesta, ma i dati al suo interno non sono validi, quindi non può elaborarla. API e framework come Rails, Laravel e FastAPI restituiscono 422 per errori di validazione, come un campo obbligatorio mancante o un tipo di dato errato.

Si applica a: API REST, Rails, Laravel, FastAPI

Come risolvere HTTP 422 Unprocessable Content

  1. Leggi il corpo della risposta: di solito elenca i campi che non hanno superato la validazione
  2. Confronta con la documentazione dell'API i campi obbligatori, i formati (email, date) e gli intervalli di valori
  3. Assicurati che l'intestazione Content-Type corrisponda al corpo (ad esempio 'application/json' con JSON valido)
  4. Cerca incongruenze di tipo, come una stringa inviata dove è atteso un numero
  5. Per i moduli Rails e Laravel, anche un token CSRF scaduto può comparire come risposta 422 o 419; ricarica il modulo
  6. Se gestisci l'API: restituisci messaggi di errore strutturati, a livello di campo, così i client possono correggere l'input

Perché succede

Definito nella RFC 9110 (in precedenza «Unprocessable Entity» in WebDAV), il 422 segnala un contenuto ben formato ma semanticamente non valido. In molti framework è la risposta standard a un errore di validazione.

Domande frequenti

Qual è la differenza tra 400 e 422?

Il 400 indica che la richiesta stessa è malformata. Il 422 indica che la sintassi è corretta ma il contenuto non supera la validazione.

Errori correlati

Fonte: IANA HTTP Status Code Registry · soluzioni scritte e verificate dalla redazione (vedi la nostra politica editoriale)

Ultimo aggiornamento: