restful风格
-
@RestController
相当于@ResponseBody + @Controller合在一起的作用。返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面。
-
@ResponseBody——@ResponseBody这个注解通常使用在控制层(controller)的方法上。将方法的返回值,以特定的格式写入到response的body区域,进而将数据返回给客户端。当方法上面没有写ResponseBody,底层会将方法的返回值封装为ModelAndView对象。如果返回值是字符串,那么直接将字符串写到客户端;如果是一个对象,会将对象转化为json串,然后写到客户端。
-
@requestBody注解的使用场景
@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。
其中处理application/json类型的数据频率最高。
@requestBody注解常用的使用方式:
@requestBody注解常用的使用方式有两种,
一、将json格式的数据绑定到对应的实体类中
二、将json格式的数据按照key值分别赋值在对应的字符串中。 -
@GetMapping
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。而@PostMapping是@RequestMapping(method = RequestMethod.POST)的缩写,以此类推。直接指定提交方式为get
上面的两个方法可以简化一些注解的写法:
- @RequestMapping和DELETE方法可以合在一起写为@DeleteMapping,values中的"/users"可以在类上面统一写@RequestMapping("/users"),如果需要传参数id,直接写@DeleteMapping("/{id}")
- @ResponseBody和@Controller可以合在一起写为@RestController