栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC是否可以配置两个相同路径?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC是否可以配置两个相同路径?

最近接触到若依这个框架,发现里面增删改的Controller层是这样写的:

剛看到的时候很诧异,为啥@PostMapping和@PutMapping都没添加value属性并赋值呢,前端发起请求是怎么区分这两个映射呢,难道是根据方法名生成了system/user/add和system/user/edit两个url(在我的理解里是不会有相同的两个url出现在controller里的,于是开启想象力),翻了一遍代码也没看到哪里做了处理,于是直接打开项目操作了一下用户新增和编辑,发现请求路径都是system/user。

为什么SpringMVC允许出现两个相同的url呢?这两个url只是http请求的方法不同,一个是post,一个是put,肯定底层在注册method的时候也跟http方法挂钩,debug一下果然如此(源码 RequestMappingInfoHandlerMapping.afterPropertiesSet()):

@RestController
@RequestMapping("/demo/http/method")
public class DemoRest {

    @PostMapping
    public ResultMessage add(@RequestBody User user) {
        return ResultMessage.success(user);
    }

    @PutMapping
    public ResultMessage put(@RequestBody User user) {
        return ResultMessage.success(user);
    }


}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/281636.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号