@GetMapping和@GetMapping(value=““)的区别纪要「建议收藏」

问题:@GetMapping指定value和不指定value的区别是什么?背景:刚开始接触时的理解@GetMapping是不需要有value的,以为没有指定的value就无法访问对应的请求接口.后来经过实战和学习……今天有空来立项说明一下.答案: 1.首先要清楚@GetMapping的标准写法肯定是有对应的value指向的. 2.对于没有对应value指向的@GetMapping有且只有一个.在这种情况下当你的路径指向这个@GetMapping的上级路径时系统会默认找寻该.

大家好,又见面了,我是你们的朋友全栈君。

背景

        初期对于@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和@GetMapping(value=““)的区别纪要「建议收藏」

此时如果你访问的路由地址指向这个@GetMapping的上级路径,而且到这儿就结束了。此时系统会默认指向这个空Value的接口。

@GetMapping和@GetMapping(value=““)的区别纪要「建议收藏」

 如果正常的路由指向,则会正常返回对应的Handler。

@GetMapping和@GetMapping(value=““)的区别纪要「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126158.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号