在Spring 3中进行GET请求时出现服务器错误

时间:2012-01-05 19:06:34

标签: hibernate rest spring-mvc

我正在开发一个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 个答案:

答案 0 :(得分:1)

我理解getRestItemList()期望返回json,İf所以你应该使用@ResponseBody注释这个metod(这个注释告诉spring将结果返回为json而不是尝试解决视图)。实际上客户端代码:看起来对,但服务器代码毫无意义。