¿Qué código de respuesta de estado HTTP debo usar si a la solicitud le falta un parámetro requerido?

Resuelto EA. asked hace 14 años • 10 respuestas

Estoy pensando en 412 (Error de condición previa), pero ¿puede haber un estándar mejor?

EA. avatar Jun 16 '10 10:06 EA.
Aceptado

El estado 422 parece el más apropiado según las especificaciones .

El código de estado 422 (Entidad no procesable) significa que el servidor comprende el tipo de contenido de la entidad de solicitud (por lo tanto, un código de estado 415 (Tipo de medio no admitido) es inapropiado) y la sintaxis de la entidad de solicitud es correcta (por lo tanto, un código de estado 400 (Solicitud incorrecta). ) el código de estado no es apropiado) pero no pudo procesar las instrucciones contenidas. Por ejemplo, esta condición de error puede ocurrir si el cuerpo de una solicitud XML contiene instrucciones XML bien formadas (es decir, sintácticamente correctas), pero semánticamente erróneas.

Afirman que xml con formato incorrecto es un ejemplo de sintaxis incorrecta (requiere un 400). Una cadena de consulta con formato incorrecto parece análoga a esto, por lo que 400 no parece apropiado para una cadena de consulta bien formada a la que le falta un parámetro.

Nota: Dado que el RFC anterior trata sobre WebDAV, puede haber un malentendido de que 422 y algunos otros solo deben usarse en el contexto de WebDAV y usarlos fuera de él es "no estándar". Pero esto sólo significa que estos códigos de estado se introdujeron en el contexto de este RFC. De hecho, la redacción de estas definiciones se ha elegido cuidadosamente para que no sean específicas de WebDAV.

Kelvin avatar Apr 25 '2012 20:04 Kelvin

No estoy seguro de que exista un estándar establecido, pero habría usado 400 Bad Request , que la última especificación HTTP (de 2014) documenta de la siguiente manera :

6.5.1. 400 Petición Incorrecta

El código de estado 400 (Solicitud incorrecta) indica que el servidor no puede o no quiere procesar la solicitud debido a algo que se percibe como un error del cliente (por ejemplo, sintaxis de solicitud incorrecta, estructura de mensaje de solicitud no válida o enrutamiento de solicitud engañoso).

Gert Grenander avatar Jun 16 '2010 03:06 Gert Grenander