关于@GetMapping和@GetMapping(value=““)的区别
作者:大雷!
这篇文章主要介绍了关于@GetMapping和@GetMapping(value=““)的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
@GetMapping和@GetMapping(value=““)区别
背景
初期对于@GetMapping的理解比较简单,以为给什么路由就走什么路由。后来查看资料后有了更进一步的认识,特此纪要!
问题
@GetMapping和@GetMapping(value=““)的区别是什么?
说明
1.@GetMapping的标准语法是有Value的。
2.如果@GetMapping没有指定Value出现了一次,那当前的Control中有且就只能存在这样的一个空Value的@GetMapping。否则会编译报错。
3.当有一个路由指向了当前的Control,并且到了Control的路由就结束了指向,没有更进一步Handle寻找,此时如果存在这样一个空的Value路由,则会默认指向。
4.对于有具体Mapping路由的则返回对应的路由数据,没有则404.
应用Demo
下面是一个根路径为/mrs的路由,在这个Control中有两个子路由,一个是空Value指向的getStr的接口,另一个是/getStrName。
此时如果你访问的路由地址指向这个@GetMapping的上级路径,而且到这儿就结束了。此时系统会默认指向这个空Value的接口。
如果正常的路由指向,则会正常返回对应的Handler。
初识GetMapping("")使用方法
GetMapping("value = /SF/{x_num}")
与
GetMapping("/SF/{x_num}")
通过POSTMAN获得的值一样。
注意:
GetMapping("/SF/{x_num}")
内花括号的使用。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。