1、通过方法注解@ResponseBody
@ResponseBody
@RequestMapping(value = "/test", produces = "application/json;charset=UTF-8")
public Map<String, Object> test() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("success", true);
map.put("data", "your data");
return map;
}
给RequestMapping方法加上@ResponseBody注解,直接return Map即可。
{"success":true,"data":"your data"}
需要添加jar
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.0</version>
</dependency>
2、通过类注解@RestController
@RequestMapping(value = "/test")
public Map<String, Object> test() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("success", true);
map.put("data", "your data");
return map;
}
如果使用该注解,那么该类所有方法返回都只能是String
@RestController注解,等于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面