看公司的项目 controller层里方法的返回值全都是ReponseEntity
这是干什么用的?
@RequestMapping(value = "/getLeaderPosts", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<List<PostsDTO>> getLeaderPosts(@CurrentUserState UserState userState,@RequestBody PageInfo pageInfo, @RequestBody(required = false) PostsDTO dto) {
ResponseEntity<List<PostsDTO>> retRes = new ResponseEntity<List<PostsDTO>>();
PageBounds pageBounds = new PageBounds(pageInfo.getPage(), pageInfo.getPageSize());
dto.setCreateUserId(userState.getUserId());
retRes.setEntity(postsService.getLeaderPosts(dto, pageBounds));
return retRes;
}
响应实体类,自己定义的
ResponseEntity 可以定义返回的HttpHeaders和HttpStatus
http://blog.csdn.net/json20080301/article/details/12620547
自定义的restful风格的编码规范。http://www.cnblogs.com/xiaochangwei/p/5419244.html
返回实体中,第一个参数为返回的数据,相当于out.write(map.toString()),第二个参数是状态码,可以设置返回404,ResponseEntity的优先级高于@ResponseBody。在不是ResponseEntity的情况下才去检查有没有@ResponseBody注解。如果响应类型是ResponseEntity可以不写@ResponseBody注解,写了也没有关系。