Я использую последнюю версию Джерси, чтобы реализовать некоторые примеры услуг REST.
Есть ли у вас какие-либо понятия, почему, когда я генерировать следующий запрос HTTP с помощью Fiddler, я получаю:
500 Internal Server Error
JSON не сгенерирован в использовании Джерси
MessageBodyWriter not found for media type={application/json, q=1000}, type=class java.util.ArrayList, genericType=java.util.ArrayList<com.example.Todo>
запрос HTTP:
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
Это метод Rest вызывался:
//This method is called if XML or JSON is requested
@GET
@Path("{id}")
@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON,MediaType.TEXT_XML})
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;
}
Когда я запрашиваю данные xml, все работает нормально.
EDIT:
Я думаю, что это должно помочь: http://stackoverflow.com/questions/26518996/jersey-json-serialization – bbastu
вопрос отредактирован – GionJh
Есть ли у вас какие-либо StackTrace вы можете показать нам. Как правило, 500 будет означать, что исключение в большинстве случаев заносится в журнал. –