关于@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}")
内花括号的使用。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring框架中ImportBeanDefinitionRegistrar的应用详解
这篇文章主要介绍了Spring框架中ImportBeanDefinitionRegistrar的应用详解,如果实现了ImportSelector接口,在配置类中被@Import加入到Spring容器中以后,Spring容器就会把ImportSelector接口方法返回的字符串数组中的类new出来对象然后放到工厂中去,需要的朋友可以参考下2024-01-01
最新评论