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页面