Aquí está:
rfc2616 # section-10.4.1 - 400 Solicitud incorrecta
El servidor no pudo entender la solicitud debido a una sintaxis incorrecta . El cliente NO DEBE repetir la solicitud sin modificaciones.
rfc7231 # sección-6.5.1 - 6.5.1. 400 Petición Incorrecta
El código de estado 400 (Solicitud incorrecta) indica que el servidor no puede o no procesará la solicitud debido a algo que se percibe como un error del cliente (por ejemplo, sintaxis de solicitud con formato incorrecto, enmarcado de mensaje de solicitud no válido o enrutamiento de solicitud engañoso) .
¡Se refiere a casos malformados (no bien formados)!
rfc4918 - 11.2. 422 Entidad no procesable
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 400 (solicitud incorrecta) ) el código de estado es inapropiado) pero no pudo procesar las instrucciones contenidas. Por ejemplo, esta condición de error puede ocurrir si un cuerpo de solicitud XML contiene instrucciones XML bien formadas (es decir, sintácticamente correctas), pero semánticamente erróneas .
Conclusión
Regla general: [_] 00 cubre el caso más general y los casos que no están cubiertos por el código designado.
422 encaja mejor error de validación de objeto (precisamente mi recomendación :)
En cuanto a semánticamente erróneo - Piense en algo como la validación "Este nombre de usuario ya existe".
400 se usa incorrectamente para la validación de objetos