@GetMapping和@RequestMapping(method = RequestMethod.GET)有什么区别? 我在一些Spring Reactive的例子中看到过 使用@GetMapping代替@RequestMapping
当前回答
@RequestMapping即使使用方法=GET也支持消耗,而@GetMapping不支持消耗。 @RequestMapping是方法和类型级别的注释,而@GetMapping是方法级别的注释
除此之外,@GetMapping与@RequestMapping(method=RequestMethod.GET)相同
其他回答
如图所示:
具体来说,@GetMapping是一个组合注释,充当 @RequestMapping(method = RequestMethod.GET)的快捷方式。 @GetMapping和@RequestMapping的区别 @GetMapping支持像这样的消费属性 @RequestMapping。
`@RequestMapping` since 2.5
可以处理所有HTTP方法
=>适用于类和方法
=>可以用来代替@Controller和@RestController,如果我们使用它 和@Component一起。
`@GetMapping` since 4.3
=>只能处理HTTP的GET方法
=>仅适用于方法
@GetMapping是@RequestMapping(method = RequestMethod.GET)的特定类型。两者都支持消费
@GetMapping是一个组合注释,作为@RequestMapping(method = RequestMethod.GET)的快捷方式。
@GetMapping是更新的注释。 它支持消费
消费选项有:
消费= "text/plain" 消费= {"text/plain", "application/*"}
详情见: GetMapping注释
或阅读: 请求映射变量
RequestMapping也支持消费
GetMapping我们只能应用在方法级,RequestMapping注释我们可以应用在类级和方法级
简短的回答:
语义上没有区别。
具体来说,@GetMapping是一个组合注释,充当 @RequestMapping(method = RequestMethod.GET)的快捷方式。
进一步阅读:
RequestMapping可以在类级别使用:
这个注释既可以在类级别使用,也可以在方法级别使用。 在大多数情况下,在方法级应用程序更倾向于使用一个 HTTP方法的特定变量@GetMapping, @PostMapping @PutMapping, @DeleteMapping或@PatchMapping。
而GetMapping只适用于方法:
将HTTP GET请求映射到特定处理程序的注释 方法。
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/GetMapping.html
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html
@RequestMapping即使使用方法=GET也支持消耗,而@GetMapping不支持消耗。 @RequestMapping是方法和类型级别的注释,而@GetMapping是方法级别的注释
除此之外,@GetMapping与@RequestMapping(method=RequestMethod.GET)相同
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- 在Jar文件中运行类
- 带参数的可运行?
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作
- 在Java流是peek真的只是调试?
- Recyclerview不调用onCreateViewHolder
- 将JSON字符串转换为HashMap