kein Leser verfügbar für interface-Liste und MIME-media-type application/json mit UTF-8
Ich einen REST-Aufruf, und ich will zurück zu erhalten, json, enthält eine Liste der MyClass-Objekte.
Eigentlich bekomme ich diese exception:
{"error":"Ein message-body-reader für Java-Klasse java.util.Liste, und
Java-Typ der Schnittstelle java.util.Liste, und MIME media Typ
application/json; charset=UTF-8 war nicht
found","type":"com.sun.jersey.api.client.ClientHandlerException","stackTrace":"com.sun.jersey.api.client.ClientHandlerException:
Ein message-body-reader für Java-Klasse java.util.Liste, und Java-Typ
interface java.util.Liste, und MIME-media-type application/json;
charset=UTF-8 wurde nicht gefunden\n\tat
com.Sonne.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:550)\n\tat
com.Sonne.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:506)\n\tat
com.Sonne.jersey.api.client.WebResource.Griff(WebResource.java:684)\n\tat
com.Sonne.jersey.api.client.WebResource.access$200(WebResource.java:74)\n\tat
com.Sonne.jersey.api.client.WebResource - $ - Generator.bekommen(WebResource.java:507)\n\tat
..[mehr stack trace],..}
der code ist:
public List<'MyClass> getLIst()
{
ClientConfig config = new DefaultClientConfig();
config.getClasses().add(MyObjectMapper.class);
Client client = Client.create(config);
WebResource resource = client.resource(HOST_PATH).path(PATH).type(MediaType.APPLICATION_JSON_TYPE).accept(MediaType.APPLICATION_JSON_TYPE);
return resource.get(List.class);
}
@XmlRootElement
public class MyClass
{ ... }
Hab ich was verpasst?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, wegen type erasure in Java, Jersey können nicht sehen, welcher Art der Liste ist. Ändern Sie die Letzte Zeile der getList () - Methode wie folgt:
Dann sollte es funktionieren.