viernes, 26 de febrero de 2016

RESTful Tomcat + Jersey: org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo MessageBodyWriter not found for media type=application/json, type=class

Si estás tratando de programar RESTful con Jersey sobre Tomcat (porque el Tomcat es más fácil de desplegar y más ligero, Jersey es el más recomendado por Oracle, y RESTful luce bien) y justo cuando quieres probar que devuelva un objeto simple que has creado, lanza el siguiente error:




26-Feb-2016 16:54:00.889 SEVERE [http-nio-18080-exec-2] org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo MessageBodyWriter not found for media type=application/json, type=class...

Optas por alguna de estas opciones:
  1. Dejas Tomcat porque sabes que, como no es un JavaEE Container, migras a JBoss, Wildfly o lo que sea.. pero Tomcat no lo vuelves a usar porque solo es para web.
  2. Ya no usas Jersey, y cuando migras usas algo como SimpleREST de JBoss
  3. O usas Spring y te llenas de documentación solo para montar un RESTful simple.
Por lo que finalmente dejas de lado tu primera motivación: Tomcat + Jersey.

Ahora bien, vamos a revisar qué ocurre.