Saltar al contenido

Error 415 Tipo de medio no compatible: POST no llega a REST si JSON, pero sí si XML

El paso a paso o código que encontrarás en este artículo es la resolución más rápida y efectiva que encontramos a esta inquietud o dilema.

Solución:

Agregar Content-Type: application/json y Accept: application/json
en la sección de encabezado del cliente REST

El problema está en la deserialización del bean Customer. Sus programas saben cómo hacerlo en XML, con JAXB como escribe Daniel, pero lo más probable es que no sepa cómo hacerlo en JSON.

Aquí tienes un ejemplo con Resteasy/Jackson http://www.mkyong.com/webservices/jax-rs/integrate-jackson-with-resteasy/

Lo mismo con Jersey: http://www.mkyong.com/webservices/jax-rs/json-example-with-jersey-jackson/

En caso de que esto sea útil para otros, aquí está mi anécdota:

Encontré este hilo como resultado de un problema que encontré mientras usaba Postman para enviar datos de prueba a mi servidor RESTEasy, donde, después de un cambio significativo en el código, no obtenía nada más que 415 errores de tipo de medio no admitido.

Para resumir, rompí todo, eventualmente traté de ejecutar el ejemplo trivial de carga de archivos que sabía que funcionaba; no lo hizo Fue entonces cuando me di cuenta de que el problema estaba en mi solicitud de Postman. Normalmente no envío ningún encabezado especial, pero en una prueba anterior agregué un encabezado “Content-Type”: “application/json”. POR SUPUESTO, estaba tratando de cargar “multipart/form-data”. Eliminarlo resolvió mi problema.

Moraleja: revisa tus encabezados antes de hacer estallar tu mundo. 😉

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *