请教大家一个 URL 中传参的诡异事件

2018-04-26 09:48:05 +08:00
 tomxin7

晚上想把小站:http://workhub.top 接口改为 RESTful 风格,碰到了一件诡异的事情。

问题接口:用来获取指定省份的就业信息
http://127.0.0.1:8080/recruit/list/0/7/这里传省份

如果是全国那么就查询全部信息,所有城市都正常,但是“全国”一直 404

参数是:全国

参数是:北京

参数是:全

测试了一下,和全组合的任何词都不行,后端 debug 也没法获取到,难道是因为“全”这个字的编码问题吗?
2636 次点击
所在节点    问与答
19 条回复
HENQIGUAI
2018-04-26 10:03:11 +08:00
后台不知是不是用 java,不然你换成问号传参试试
2123123
2018-04-26 10:07:45 +08:00
应该是 tomcat 这块的问题,跟后端代码没关系
jy02201949
2018-04-26 10:31:55 +08:00
挺有意思的问题,关注看后续
1010011010
2018-04-26 10:45:45 +08:00
很好奇,暗中观察
zn
2018-04-26 10:54:51 +08:00
没代码说个 J8 ?说不定代码里查不到相应信息就直接返回 404 呢?
tomxin7
2018-04-26 10:57:11 +08:00
@zn 后端方法根本没被调用,我上面说了
tomxin7
2018-04-26 10:57:45 +08:00
@2123123 下班打算看看,我也觉得是 tomcat 或者过滤器之类的问题
tomxin7
2018-04-26 10:58:25 +08:00
@HENQIGUAI 问号传参好像就不是 RESTful 风格了,而且我很好奇为什么就这个字不行
Boyizmen
2018-04-26 11:49:39 +08:00
用 Spring Boot 2.0.1,内置 tomcat 8.5.29 测试没有遇到这个问题
zn
2018-04-26 12:40:51 +08:00
@tomxin7 没调用那肯定是路由分发问题啊,你的路由代码呢?用的框架是什么,用的什么路由方案,一根毛信息都没有提供,让别人猜?
tomxin7
2018-04-26 12:52:21 +08:00
@zn 冷静冷静
ETiV
2018-04-26 12:57:11 +08:00
没毛病啊,
全国没有叫“全国”的省市,返回 404
tomxin7
2018-04-26 12:59:02 +08:00
@ETiV emmm,如果是全国那么就查询全部信息,后端有判断,现在是后端接收不到这个请求
tomxin7
2018-04-26 12:59:20 +08:00
@zn 老哥我自己再研究一下吧,多谢你
SeanChense
2018-04-26 13:01:51 +08:00
感觉是编码的问题
111qqz
2018-04-26 13:06:16 +08:00
感觉是编码问题+1 ……可能看起来是一个字,但是编码完全不一样。之前遇到过一次
111qqz
2018-04-26 13:07:11 +08:00
hoyixi
2018-04-26 13:13:51 +08:00
@tomxin7 # 13

你的后端代码也许没收到,但是 tomcat 肯定收到了,不然 404 谁给你的,查查 tomcat 的日志,看看为啥返回了 404
tomxin7
2018-04-26 13:42:24 +08:00
@hoyixi 嗯嗯好,之前没有碰到过 tomcat 层面的错误,感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/449967

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX