java 板


LINE

我想注册两个Servlet, 然後各自所scan的controller的url会根据各自servlet分开 例如我有两个controller, A跟B A controller @RequestMapping(value = "/test1") B controller @RequestMapping(value = "/test2") 这两个controller分别由两个servlet所建立(透过ServletRegistrationBean) A Servlet mapping /aaa/* B Servlet mapping /bbb/* 所以使用的路径为 A /aaa/test1 B /bbb/test2 以上这样是没问题的。 可是我现在有个需求是controller想要都mapping /test 就是想要使用的路径为 /aaa/test /bbb/test 的时候 就会出现 "Ambiguous mapping." 的讯息 我不懂的是若是由不同的servlet负责不是应该自然会根据该servlet所mapping的url 为prefix,然後再根据controller的mapping为路径吗? 在A跟B mapping不同的的url的时候的确是这样, 可是为什麽mapping相同的url却又会报错? 想请问大大应该要如何修改, 才可以达到我的需求。 -- 可能我将会无甚功名 引不来掌声荣耀你 请相信我 我的柔情 牵引你 守护你 同是孤独的一粒微尘 在空旷的阶上漂浮 黄玠 让我仔细的陪你 踱到尽端 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 203.69.123.228
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1519718040.A.E67.html
1F:→ pttworld: 不同controller写/aaa和/bbb 02/27 20:46
2F:→ pttworld: controller的method再mapping /test 02/27 20:47
3F:→ pttworld: 上面是每个/test不打算一样的情况,如果都打算一样 02/27 20:58
4F:→ pttworld: 同一个controller相同method多个path则 02/27 20:59
5F:→ pttworld: mapping value={"/aaa/test", "/bbb/test" ... method= 02/27 21:00
6F:→ pttworld: 可以写一起。 02/27 21:00
大大误会我的意思了 我就是要根据servlet来分开prefix url 因为我要建立类似Swagger功能的url 但我怕该功能所mapping的url会跟业务逻辑API冲突 所以我想要根据servlet所mapping的url就可以分开url且不冲突 ※ 编辑: NullLife (123.194.139.82), 02/28/2018 21:42:35
7F:→ qrtt1: 弄点 sample code 来玩啊,你的描述有点难懂 03/02 01:32
歹势 图来了~~~ 我有两个package, 两组config+conftroller, 如下图 https://imgur.com/NFf2SLt ConfigAAA.java (scan "org.aery.aaa") https://imgur.com/Pw2UFrx ControllerAAA.java https://imgur.com/zN7FwjR ConfigBBB.java (scan "org.aery.bbb") https://imgur.com/IirnlBj ControllerBBB.java https://imgur.com/nSzivLN ConfigAAA register Servlet mapping /aaa/* 然後scan "org.aery.aaa" 建立 ControllerAAA mapping /test1 ConfigBBB register Servlet mapping /bbb/* 然後scan "org.aery.bbb" 建立 ControllerBBB mapping /test2 启动後spring log如下 https://imgur.com/i1rZt7L 然後 测试 /aaa/test1 有通 测试 /bbb/test2 有通 就在刚刚写这个sample的时候发现其实/aaa/test2跟/bbb/test1也有通... 看起来controller的mapping跟register的servlet没有关系...!? 我以为controller的mapping url会以register的servlet为prefix url... 所以当我将ControllerAAA跟ControllerBBB的mapping url都改成/test就会报错了... 而我原本想做到的就是根据servlet, 会自动将各自发现的controller分开不同的url 当然有人会说在class上加上mapping就好 但我现在建立类似swagger的东西 会在专案内镶入一个模组 该模组会有许多API, 所以我希望透过一个prefix就可以改变这个模组的url 进而避免万一专案需要使用的url与该模组冲突 这个模组最後当然会是一个jar引入专案内 所以才会想要在runtime的时候可以让专案自行变更该模组API的prefix。 是我观念有错还是有比较好的方式可以达到这个需求 还请大大指点 <(_ _)>
8F:→ ssccg: root context有把spring boot预设的DispatcherServlet关掉? 03/02 11:21
我没有启用耶 整个环境设定就那四张图~ 跟default DispatcherServlet有关吗? ※ 编辑: NullLife (203.69.123.228), 03/02/2018 12:09:11







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP