2012-08-15 62 views
29

Para ciertos recursos, mi servidor REST sólo acepta PUT y POST solicitudes con objetos JSON como el cuerpo del contenido, por lo que requiere una Content-Type de application/json en lugar de application/x-www-form-urlencoded o multipart/form-data o cualquier otra cosa.no aceptada Content-Type en la solicitud de

JSON malformado (o la falta del mismo) devuelve un 400 con el mensaje de error tomado directamente de la excepción planteada por el analizador JSON, para fines de depuración.

¿Qué código de error HTTP significa que el cliente envió una solicitud con un inaceptable Content-Type, incluso si el servidor podría analizar técnicamente el contenido de la solicitud?

+1

Ver aquí para una respuesta definitiva: http://stackoverflow.com/questions/19417553/what-if-any-http-status-code-is-returned-when-a-mime-type- es-perdido –

Respuesta

42

Podría ser 415 Unsupported Media Type acuerdo con esta lista: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.16.

+0

Todavía me pregunto si existe una diferencia entre "tipo de contenido no aceptado" y "tipo de medio no admitido", donde el contenido real (potencialmente diferente del contenido declarado) no coincide con lo que se pretende. – blackstrype

+0

415 es correcto, pero no debe usar RFC 2616; ha sido obsoleto por RFC 7231. –

+11

'415 Tipo de medio no admitido' significa que el cliente * proporcionó * datos en un formato que el servidor no admite (como lo indica el encabezado' Content-Type' de la solicitud). Por ejemplo, tratando de hacer una solicitud 'POST' para crear un registro de tipo' User' con el recurso en formato 'application/xml' pero el servidor no puede procesar solicitudes XML para ese tipo de recurso. '406 No aceptable' significa que la solicitud entrante desea los datos de respuesta en un formato específico (como lo indica el encabezado' Aceptar ') que el servidor no puede proporcionar (por ejemplo, que desee un registro como XML cuando el servidor solo proporciona JSON) – Anthony

Cuestiones relacionadas