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

2018 年 4 月 26 日
 tomxin7

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

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

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

参数是:全国

参数是:北京

参数是:全

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

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

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

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

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

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

© 2021 V2EX