Ошибка сервера при выполнении запроса GET в Spring 3 - PullRequest
0 голосов
/ 05 января 2012

Я работаю над проектом Spring 3 и пытаюсь написать RESTful-сервисы.

У меня проблемы с получением списка объектов с сервера. Вот код сервера:

@RequestMapping(value = "/getRestItemList", method = RequestMethod.GET)
public ModelAndView getRestItemList() {

    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON);

    HttpEntity<String> entity = new HttpEntity<String>(headers);
    RestItemCollection itemList = new RestItemCollection();

    try {
        ResponseEntity<RestItemCollection> forObject = restTemplate.exchange("http://localhost:3080/SOHOV01R01C01/getRestItemList",
                HttpMethod.GET, entity,
                RestItemCollection.class);


        itemList = forObject.getBody();



    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
}

И код клиента:

@RequestMapping(method = RequestMethod.GET, value = "/getRestItemList", headers = "Accept=application/xml, application/json")
public @ResponseBody
List<RestItem> getRestItemList() {

    List<RestItem> itemList = restManService.getRestItemList();

    return itemList;
}

Когда я отлаживаю, я могу получить список объектов на стороне сервера. Но когда его отправляют, возникает какая-то проблема.

Где я не прав?

1 Ответ

1 голос
/ 06 января 2012

Что я понимаю, getRestItemList () должен возвращать json, так что вы должны аннотировать этот метод с помощью @ResponseBody (эта аннотация указывает пружине возвращать результат в виде json, а не пытаться решить представление). Фактически код клиента: lookверно, но код сервера не имеет смысла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...