当前位置:   article > 正文

@GetMapping介绍与@RequestMapping的区别

@getmapping

参考链接:
springboot各种注解.
@requestmapping参数produces,consumes.

一、@GetMapping是什么?

Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。

从命名约定我们可以看到每个注释都是为了处理各自的传入请求方法类型,即 @GetMapping 用于处理请求方法的 GET 类型, @ PostMapping 用于处理请求方法的 POST 类型等。

二、@GetMapping VS @RequestMapping

(1)@GetMapping 是在 @RequestMapping 基础上的封装

查看 @GetMapping 的源码可以发现,是在 @RequestMapping 的基础上进行了封装。

@Target({ java.lang.annotation.ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@RequestMapping(method = { RequestMethod.GET })
public @interface GetMapping {
 // abstract codes
 ...
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

其他几个注释也是一样的方式封装的。

(2)@GetMapping不支持consumes属性。
英文文档说法:@GetMapping does not support  the consumes attribute of @RequestMapping.
  • 1

consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;

consumes例子:

@Controller  
@RequestMapping(value = "/pets", method = RequestMethod.POST, consumes="application/json")  
public void addPet(@RequestBody Pet pet, Model model) {      
    // implementation omitted  
    ...
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/194684
推荐阅读
相关标签
  

闽ICP备14008679号