大家好,又见面了,我是你们的朋友全栈君。
初期对于@GetMapping的理解比较简单,以为给什么路由就走什么路由。后来查看资料后有了更进一步的认识,特此纪要!
@GetMapping和@GetMapping(value=““)的区别是什么?
1. @GetMapping的标准语法是有Value的。 2. 如果@GetMapping没有指定Value出现了一次,那当前的Control中有且就只能存在这样的一个空Value的@GetMapping。否则会编译报错。 3. 当有一个路由指向了当前的Control,并且到了Control的路由就结束了指向,没有更进一步Handle寻找,此时如果存在这样一个空的Value路由,则会默认指向。 4. 对于有具体Mapping路由的则返回对应的路由数据,没有则404.
下面是一个根路径为/mrs的路由,在这个Control中有两个子路由,一个是空Value指向的getStr的接口,另一个是/getStrName。
此时如果你访问的路由地址指向这个@GetMapping的上级路径,而且到这儿就结束了。此时系统会默认指向这个空Value的接口。
如果正常的路由指向,则会正常返回对应的Handler。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126158.html原文链接:https://javaforall.cn