添加依赖 jar
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.7</version>
</dependency>
@ResponseBody::
/**
* 当然更多的是采用此种方法
* @ResponseBody:
* 该注解用于将Controller的方法返回的对象,根据HTTP Request Header的Accept的内容,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
* 一般用于返回json数据
*/
@RequestMapping(value = "/testjson",
method = RequestMethod.GET,
produces = {"application/json;charset=UTF-8"})
@ResponseBody
public User exposer() {
User user = new User();
user.setId(1);
user.setName("哈哈");
user.setBirthday(new Date());
return user;
}
ModelAndView :
@RequestMapping(value = "test2" ,method = RequestMethod.GET)
public ModelAndView test2(){
Map map = new HashMap();
map.put("123",789);
ModelAndView modelAndView = new ModelAndView(new MappingJackson2JsonView(),map);
return modelAndView;
}
这下面的使用到的很少:
/**
* ResponseBody:
* 可以将如下数据做成json
* 基本数据类型 如boolean String int等
* Map类型数据 集合或数组 实体对象 实体对象集合
* @return
*/
@RequestMapping(value="/testjson",method=RequestMethod.GET)
public @ResponseBody TbUser getCourseInJson(){
TbUser tbUser = new TbUser();
tbUser.setUsername("晓晓");
tbUser.setId(1);
tbUser.setCreationtime(new Date());
return tbUser;
}
/**
* ResponseEntity(tbUser, HttpStatus.OK);
* 第一个参数为返回的数据,第二个参数是状态码 可以返回404
* ResponseEntity高于@ResponseBody
* 定义返回HttpHeaders 和 HttpStatus
* @return
*/
@RequestMapping(value="/jsontype",method=RequestMethod.GET)
public ResponseEntity<TbUser> getCourseInJson2(){
TbUser tbUser = new TbUser();
tbUser.setUsername("晓晓");
tbUser.setId(1);
tbUser.setCreationtime(new Date());
return new ResponseEntity<TbUser>(tbUser, HttpStatus.OK);
}
在不是ResponseEntity的情况下才会去检查有没有@ResponseBody注解,如果响应类型是ResponseEntity可以不写@ResponseBody注解,写了也没有关系
















