我正在开发一个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;
}
当我调试时,我可以在服务器端获取对象列表。但是当它被发送时,会出现一些问题。
我哪里错了?
答案 0 :(得分:1)
我理解getRestItemList()期望返回json,İf所以你应该使用@ResponseBody注释这个metod(这个注释告诉spring将结果返回为json而不是尝试解决视图)。实际上客户端代码:看起来对,但服务器代码毫无意义。