zoukankan      html  css  js  c++  java
  • @Controller 文件相关 @RequestMapping @PostMapping @PutMapping @DeleteMapping @PatchMapping

    https://blog.csdn.net/magi1201/article/details/82226289(copy)   

    最近学习看一些代码,发现对于发送请求这件事,有的地方用@RequestMapping,有的地方用@PostMapping,为了搞清楚区别,特意查了下spring 源代码,现在特此记录下。

     @GetMapping用于将HTTP get请求映射到特定处理程序的方法注解
    具体来说,@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。

    @PostMapping用于将HTTP post请求映射到特定处理程序的方法注解
    具体来说,@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。

    下面我们来看下@GetMapping的源码,可以对上面的两句释义给予充分的支撑。

    /**
     * Annotation for mapping HTTP {@code GET} requests onto specific handler
     * methods.
     *
     * <p>Specifically, {@code @GetMapping} is a <em>composed annotation</em> that
     * acts as a shortcut for {@code @RequestMapping(method = RequestMethod.GET)}.
     *
     *
     * @author Sam Brannen
     * @since 4.3
     * @see PostMapping
     * @see PutMapping
     * @see DeleteMapping
     * @see PatchMapping
     * @see RequestMapping
     */
    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @RequestMapping(method = RequestMethod.GET)
    public @interface GetMapping {
     
        /**
         * Alias for {@link RequestMapping#name}.
         */
        @AliasFor(annotation = RequestMapping.class)
        String name() default "";
     
        ...
     
    }

    上面代码中,最关键的是 @RequestMapping(method = RequestMethod.GET),这行代码即说明@GetMapping就是@RequestMapping附加了请求方法。同时,可以看到@GetMapping这个注解 是spring4.3版本引入,同时引入的还有@PostMapping、@PutMapping、@DeleteMapping和@PatchMapping,一共5个注解。


    所以,一般情况下用@RequestMapping(method = RequestMethod. XXXX)即可。


  • 相关阅读:
    java后台对上传的图片进行压缩
    Reflections框架,类扫描工具
    commons-httpclient和org.apache.httpcomponents的区别
    sql里面插入语句insert后面的values关键字可省略
    Callable接口、Runable接口、Future接口
    Java多线程之Callable接口的实现
    说说Runnable与Callable
    论坛贴吧问题:如何终止运行时间超时的线程
    使用Future停止超时任务
    spring的@Transactional注解详细用法
  • 原文地址:https://www.cnblogs.com/dianzan/p/11180638.html
Copyright © 2011-2022 走看看