目录
1、@RestController
@RestController = @ResponseBody + @Controller + ......
(1)、@Controller
@使用Controller的注解可以声明该类为 Spring MVC 中的Controller类,分发处理器将会扫描使用该注解类的方法,并检测该方法是否使用了@RequestMapping 注解。
(2)、@ResponseBody
默认请求下Spring MVC 和 Spring Boot 返回的是视图都是前后端分离的,后端只需要返给给前端数据,此时我们就需要使用 @ResponseBody 注解来处理。@ResponseBody 返回的值如果是字符会转换成 text/html,如果返回的是对象则会转换成 application/json 再返回给前端。@ResponseBody 可以用来修饰方法或类,修饰类表示类中的所有方法都会返回 html或json。
综上所述我们就可以直接使用 @RestController 的注解来代替 @ResponseBody 和@Controller 来简化操作。
2、RequestMappping
(1)、定义
@RequestMapping 是 Spring Web 中最常被用到的注解之一,它是用来注册接口的路由映射的。而路由映射则是指当用户访问一个 url 时,将用户的请求对应到程序中某个类的某个方法的过程。
(2)、使用
【1】、修饰方法
【2】、修饰类
@RequestMapping 既可修饰类也可以修饰方法。当同时修饰类和方法时,访问的地址为类注解名 / 方法注解名
【3】、指定方法类型
可以通过method方法来指定类型:GET、POST 、PUT......
【4】、简化版指定方法
@GetMapping("/f4")=@RequestMapping(value = "/f4",method = RequestMethod.GET)
POST 、PUT等也可以使用相同的简化方法
(3)、获取参数
【1】、传递单个/多个参数
【2】、传递对象
3、@RequestParam
如果前端的参数是一个非必传的参数,我们可以使用 @RequestParam 来重命名传输过来的参数,此外使用时需要通过设置 @RequestParam 中的 required=false 来避免不传递时报错。
4、@RequestBody
可以通过使用 @RequestBody 注解来接收json对象。
5、@PathVariable
可以通过@PathVariable来获取url中的参数
6、@RequestPart
可以通过 @RequestPart 注解来上传文件,并保存文件位置
7、@CookieValue
可以通过 @CookieValue 注解来更为简洁的获取Cookie
8、@SessionAttribute
可以通过 @SessionAttribute 注解来更为简洁的获取 Session
9、@RequestHeader
可以通过 @RequestHeader 注解来更为简洁的获取 Header