Проблема при использовании службы Rest с RestTemplate в настольном приложении

У меня проблема при использовании службы RestTemplate с RestTemplate в настольном приложении, тогда как проблема не возникает, когда я использую в веб-приложении.

Это журналы отладки

15:30:40.448 [main] DEBUG o.s.web.client.RestTemplate - Reading [java.util.List] as "application/json" using [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter@98adae2]
15:30:40.452 [main] DEBUG httpclient.wire.content - << "[{"name":"Indonesia","id":1},{"name":"AlaySia","id":2},{"name":"Autraliya","id":3}]"

Исключение в потоке "main" java.lang.ClassCastException: java.util.LinkedHashMap не может быть преобразован в com.mgm.domain.Country

И это код, который я использую .

 String url = "http://localhost:8080/mgm/country";
    List<MediaType> mediaTypes = new ArrayList<MediaType>();
    mediaTypes.add(MediaType.APPLICATION_JSON);
    HttpHeaders headers = new HttpHeaders();
    headers.setAccept(mediaTypes);
    HttpEntity<Country> httpEntity = new HttpEntity<Country>(null, headers);
    try {
        ResponseEntity<List> responseEntity = restTemplate.exchange(url, HttpMethod.GET, httpEntity, List.class);
        List<Country> countries = responseEntity.getBody();
        System.out.println(countries.get(0).getName());

    } catch (RestClientException exception) {
        exception.printStackTrace();
    }

Приведенный выше код не выдает ошибок, когда я помещаю его в веб-приложение. Я использую Spring Rest MVC для предоставления JSON и использования его с помощью RestTemplate.

Я думаю, что возникает проблема, когда Jackson Convert java.util.LinkedHashMap в Country . Кажется, что country.get (0) на самом деле имеет тип LinkedHashMap , а не Country , и проблема возникнет, когда я вызову один из методов Country например .getName ()

5
задан skaffman 8 July 2011 в 10:34
поделиться