GionJh GionJh - 1 year ago 70
reST (reStructuredText) Question

JSON not generated in using Jersey

I'm using the latest version of Jersey to implement some REST sample services.

Do you have any clue why when I generate the following HTTP request using Fiddler,I get:

500 Internal Server Error

MessageBodyWriter not found for media type={application/json, q=1000}, type=class java.util.ArrayList, genericType=java.util.ArrayList<com.example.Todo>

HTTP request:

GET http://localhost:8080/RestProject/rest/todos/1 HTTP/1.1
Connection: close
Accept: application/json
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/41.0.2272.101 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4
Host: localhost:8080

That's the Rest method getting called:

//This method is called if XML or JSON is requested
public Todo getEntityXMLOrJSON(@PathParam("id") int id)
Todo todo = new Todo();
todo.setSummary("This is my first todo " + id);
todo.setDescription("This is my first todo");
return todo;

When I request xml data everything works fine.


enter image description here

Answer Source

I'm pretty familiar with the Vogella tutorial. So many people have posted about it. It uses Jersey 2. You are trying to add some Jersey 1 jars to the project. Take all the ones you added on your own out. Then find and add these

enter image description here

And if you're using web.xml, then register the provider like so


adding an init param to the jersey servlet. Otherwise, using Java config, in your ResourceConfig, just


That's for JAXB annotation support. If you don't need it, then you can just use JacksonJsonProvider

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download