2017-09-26 1 views
1

Ich versuche, eine Liste von Elementen aus meiner Webanwendung MyApp auf Server-Server 172.16.xx.15 von meiner Android App mit resttemplate zu bekommen. Alles funktioniert gut, wenn ich wieClass Cast Ausnahme in REST-Anruf von Android

String url="http://172.16.xx.15:8080/MyApp/GetAllItem"; 

RestTemplate restTemplate=new RestTemplate(); 
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter()); 

List<LinkedHashMap> items=restTemplate.getForObject(url, List.class); 

obigen Code funktioniert gut, wenn ich über die URL-Zugriff anonym machen. Aber ich benutze Spring-Sicherheit am Server-Ende, ich muss Benutzer authentifizieren, bevor Sie auf diese Liste von Elementen zugreifen. Also versuche ich, die gleiche Liste von Elementen mit Authentifizierung zu bekommen. Ich benutze folgenden Code:

Dieser Code funktioniert auch etwas, aber werfen Fehler und Anwendung abstürzt.

java.lang.ClassCastException: org.springframework.http.ResponseEntity kann nicht auf java.util.List gegossen werden

bitte in dieser Situation zu helfen.

Antwort

1

Sie sind die Antwort des Austausches direkt Gießen die ResponseEntity in Ihrer Sammlung ist

Sie müssen dann auf das obere rufen Sie die

response.getBody() 
+0

danke für Hilfe. Eine Sache noch. Wie man Benutzer authentifiziert, bedeutet "wahr" oder "falsch". – ashok

+0

Wenn dies hilfreich war, bitte markieren Sie akzeptiert) – Rizwan

0
List<LinkedHashMap> items=(List<LinkedHashMap>)restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<Object>(requestHeaders), List.class); 

zuerst als

ReaponseEntity<List<LinkedHashMap>> response 

sammeln restTemplate.exchange Methode gibt ein ResponseEntity<T> Objekt zurück, also ist es ab normal normal, um die ClassCastException zu bekommen. Sie müssen Ihre obige Zeile zu etwas wie diesem neu schreiben:

ResponseEntity<<LinkedHashMap>> entity = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<Object>(requestHeaders), List.class); 
List<LinkedHashMap> items = entity.getBody() 
Verwandte Themen