我在spring mvc4中使用RestController,但我在发送响应时遇到异常。我在这里尝试返回ResponseEntity<List<User>>
的{{1}}。
List<user>
我有这些依赖项:
答案 0 :(得分:0)
除非有某些特殊原因要使用ResponseEntity,否则我建议将代码更改为:
@RequestMapping(value = "/user", method = RequestMethod.GET, produces = "application/json")
public @ResponseBody List<User> listAllUsers() {
List<User> users = userService.findAllUsers();
System.out.println("users.size(): "+users.size());
if(users.isEmpty()){
return new ArrayList<User>;//You many decide to return HttpStatus.NOT_FOUND
}
return users;
}
看来杰克逊在转换你的列表时遇到了麻烦 - 可能是因为它没有找到适当的转换器到列表的JSON(对JSON的对象列表有一些警告)。
示例:
Spring MVC - How to return simple String as JSON in Rest Controller http://www.beingjavaguys.com/2014/05/json-response-with-responsebody_31.html
答案 1 :(得分:0)
在POM.xml中添加此依赖项
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.1</version>
问题在于这个jar的版本,版本2.8.8也可以。您需要包含此依赖项以覆盖已下载的jar