org.springframework.web.client.RestClientException: Konnte nicht extrahiert Antwort:
Bin ich zum erstellen eines restful-API, die Sie verbrauchen json vom server. Aber ich bin immer der foll Ausnahme :
org.springframework.web.client.RestClientException: Konnte nicht extrahiert Antwort: Nein geeignet HttpMessageConverter gefunden für Antwort geben [[Lexamples.dto.DummyDTO;] und content-type [text/json;charset=utf-8]
bei org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:84)
bei org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:454)
bei org.springframework.web.client.RestTemplate.execute(RestTemplate.java:409)
bei org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:207)
bei der sun.reflektieren.NativeMethodAccessorImpl.invoke0(Native-Methode)
bei der sun.reflektieren.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
bei der sun.reflektieren.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
bei java.lang.reflektieren.Methode.invoke(Method.java:597)
bei org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:189)
bei org.codehaus.groovig.- Laufzeit.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
bei org.codehaus.groovig.- Laufzeit.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
bei org.codehaus.groovig.- Laufzeit.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
bei org.codehaus.groovig.- Laufzeit.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
Code-snippet :
List<HttpMessageConverter<?>> msgConverters = restTemplate.getMessageConverters();
msgConverters.add(new MappingJacksonHttpMessageConverter());
restTemplate.setMessageConverters(msgConverters);
DummyDTO[] dummy= restTemplate.getForObject(URI, DummyDTO[].class);
Controller-Methode code :
public UserDTO[] getUserList(){
List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>();
acceptableMediaTypes.add(MediaType.APPLICATION_JSON);
//Set the Accept and Content type header
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.setAccept(acceptableMediaTypes);
HttpEntity<?> entity = new HttpEntity<Object>(headers);
//Add the Jackson message converter
List<HttpMessageConverter<?>> msgConverters = restTemplate.getMessageConverters();
msgConverters.add(new MappingJacksonHttpMessageConverter());
restTemplate.setMessageConverters(msgConverters);
//Make the HTTP GET request, marshalling the response from JSON to an array of Users
ResponseEntity<UserDTO[]> responseEntity = restTemplate.exchange("http://server.com",HttpMethod.GET, entity, UserDTO[].class);
return responseEntity.getBody();
}
Bitte sagen Sie mir, wo bin ich denn falsch
Zum ändern des content-type auf application/json, machte ich änderungen an bereits vorhandenen Methode dar. Noch immer die gleichen Fehler . Ich habe bearbeitet meine post zu gehören controller-code
InformationsquelleAutor Manisha | 2015-03-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht aus wie Sie, ändern Sie den Inhaltstyp für die Anfrage, aber "application/json" werden müssen in die Antwort-Header, und die Tatsache, dass Sie immer noch die gleiche exception sagt, dass Sie falsch-media-type "text/json" in der Antwort, es gibt keine solche Medien-Typ im HTTP. Schauen Sie nur auf die Umsetzung von
restTemplate.exchange("http://server.com",HttpMethod.GET, entity, UserDTO[].class);
gibt es das problem sein sollte.InformationsquelleAutor Sergey Yamshchikov