zoukankan      html  css  js  c++  java
  • Controller层注解详解

    可根据右边目录快速浏览

    @Controller

    处理http请求,在对应的方法上视图解析器可以解析return中的jsp或html页面,并且跳转到相应页面

    @RestController

    在默认情况下,使用了 @RestController 注解即可将返回的数据结构转换成 Json 格式

    @RestController注解相当于@ResponseBody + @Controller合在一起的作用(好吧我感觉我自己在讲废话,是本书上都这么写)

    So想理解@RestController我们就要点进去看一下该注解都包含了哪些东西。

    @Target({ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Controller
    @ResponseBody
    public @interface RestController {
        @AliasFor(
            annotation = Controller.class
        )
        String value() default "";
    }
    

    可以看到 @RestController注解包含了原来的 @Controller@ResponseBody 注解,@ResponseBody注解是将返回的数据结构转换为 Json 格式。所以在默认情况下,使用了 @RestController 注解即可将返回的数据结构转换成 Json 格式

    @GetMapping

    用于将HTTP GET请求映射到特定处理程序方法的注释。

    里面最重要的就是这一句@RequestMapping(method = {RequestMethod.GET})

    @Target({ElementType.METHOD})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @RequestMapping(
        method = {RequestMethod.GET}
    )
    public @interface GetMapping {
    

    @PostMapping

    用于将HTTP POST请求映射到特定处理程序方法的注释。

    里面最重要的就是这一句@RequestMapping(method = {RequestMethod.POST})可以看出@GetMapping和@PostMapping的区别并不大

    @Target({ElementType.METHOD})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @RequestMapping(
        method = {RequestMethod.POST}
    )
    public @interface PostMapping {
    

    @RequestMapping

    当你还在犹豫用@GetMapping还是@PostMapping时用他们爸爸(@RequestMapping)就对了

    @PathVariable

    只支持一个属性value,类型是为String,代表绑定的属性名称。默认不传递时,绑定为同名的形参。

    参考

    @PathVariable注解使用

    @RequestMapping与@GetMapping和@PostMapping区别

  • 相关阅读:
    List集合
    ArrayList_toArray
    Collection集合基础知识
    Array类的使用
    16.10
    16.9
    16.8
    16.7
    16.6
    16.5
  • 原文地址:https://www.cnblogs.com/south-wood/p/12741091.html
Copyright © 2011-2022 走看看