guia español descargar rest asp.net-web-api http-status-code-404 asp.net-web-api2 api-design

rest - español - ¿404 no encontrada o mala solicitud?



qgis español (1)

Digamos que tenemos la siguiente llamada REST:

GET api/companies/5

(obtener compañía con id 5)

Si la compañía ''5'' no existe, generalmente devolveríamos una respuesta 404 Not Found .

Pero ahora, tomemos esta llamada:

GET api/companies/5/invoices/10

(obtener factura 10 de la compañía 5)

Ahora, si la compañía ''5'' no existe, ¿todavía devolvemos un 404 Not Found ? O debería devolverse un 404 solo si no se puede encontrar el recurso más externo (factura 10, en este caso).

¿Sería una Bad Request opción una mejor opción?


404 es tu mejor respuesta. Según el HTTP RFC, http://www.ietf.org/rfc/rfc2616.txt , una 400 Solicitud incorrecta significa:

El servidor no pudo comprender la solicitud debido a una sintaxis mal formada.

Considerando que, un 404 establece:

El servidor no ha encontrado nada que coincida con el URI de solicitud.

El URI completo es su identificador de recursos, y no está encontrando un recurso coincidente para ese identificador en particular.