

调用第二个接口的时候为什么会同时调用第一个接口啊,不是前端写的问题,用 postman 调用也是这样。 求大佬指点一下排查的思路
1 wuvvu 2022-08-19 12:20:32 +08:00 语义重复 |
2 lllllliiii 2022-08-19 12:21:39 +08:00 |
3 yfugibr 2022-08-19 12:34:08 +08:00 via Android 因为 getRecCompanyLogin 也是一个 string |
4 ychenenen 2022-08-19 12:34:38 +08:00 {idCode}可以是 getRecCompanyLoginInfo 吧,又都是 get 请求 |
5 yfugibr 2022-08-19 12:39:08 +08:00 via Android |
6 willxiang 2022-08-19 13:32:34 +08:00 第一个接口 url 改成 idCode/{idCode} |
7 nothingistrue 2022-08-19 13:41:23 +08:00 /{idCode} 能够匹配任何 /*** 的 URL 。 |
8 lazyfighter 2022-08-19 13:58:31 +08:00 按照优先级匹配也是第二个接口优先级较高一些, 比较好奇两个接口的执行顺序, /** * Look up the best-matching handler method for the current request. * If multiple matches are found, the best match is selected. * @param lookupPath mapping lookup path within the current servlet mapping * @param request the current request * @return the best-matching handler method, or {@code null} if no match * @see #handleMatch(Object, String, HttpServletRequest) * @see #handleNoMatch(Set, String, HttpServletRequest) */ @Nullable protected HandlerMethod lookupHandlerMethod(String lookupPath, HttpServletRequest request) throws Exception { 比较好奇楼主用的什么版本的 spirng ,可以看一下这个方法是否调用了 |
9 ConfusedBiscuit 2022-08-19 14:06:55 +08:00 我很好奇如果两个方法同时被调用了,那么 HTTP 请求的返回是哪个方法的结果呢?如果是其中一个方法的返回值,那么另一个方法的返回值就被丢弃了吗? |
10 zzl22100048 2022-08-19 14:11:00 +08:00 spring 正常不会请求一次调用两个路由的,全匹配是调用第二个,其他情况调用第一个,具体是什么版本的 spring ? |
11 maocat 2022-08-19 14:15:58 +08:00 via iPhone 你没有问题,都是框架的问题.dog |
12 siweipancc 2022-08-19 16:56:03 +08:00 via iPhone 就算是框架 bug ,debug 不会吗……请求源对比一下 |
13 intmax2147483647 2022-08-19 17:21:33 +08:00 有一说一,养成习惯处理一下 IDE 抛黄的警告,会减少你这类问题的提问。`idCode`, `/getRecCompanyLoginInfo`都报警告了都不管 |
14 lichao 2022-08-19 17:33:36 +08:00 idCode 可以用正则限制一下 |
15 hyqCrystal 2022-08-22 09:27:16 +08:00 建议写这种风格的时候 可以把路径搞长一点 增加接口名的特殊性 |
16 Huizhen 2022-08-23 15:05:34 +08:00 第一个 RequestMapping 的 Value 值这样写不严谨,至少加个前缀 /xx/{idCode} |