Gin 的路由问题,路由不匹配

2019-09-20 11:39:20 +08:00
 raywong

示例:

GET /file/in --> loginHandler GET /user/logout --> logoutHandler

在我第一次退出的时候,确实是执行了 /user/logout 匹配上了路由(清除了 session 后并重定向到了 /user/login )

在这之后当我又一次点击退出时,执行的却不是 /user/logout 了,而是执行了 /user/login

在 GitHub 上面看别人提的 issues 也是出现了类似这种路由不匹配的问题,说是 Gin 的一个 Bug。

有大佬遇到这种问题吗,求助。

4905 次点击
所在节点    Go 编程语言
16 条回复
Hanggi
2019-09-20 13:27:15 +08:00
你还是好好确认一下,发出去的请求是否都正确。
ChristopherWu
2019-09-20 13:38:59 +08:00
不可能吧,一个这么大的框架出这个问题。
Carseason
2019-09-20 13:44:30 +08:00
在前端 /user/logout 链接处增加一个时间戳试试。
如 /user/logout?t=123456789
guonaihong
2019-09-20 13:46:27 +08:00
有可复现的代码(serve+client)吗?我看下。
lanjz
2019-09-20 13:49:28 +08:00
重定向用的 301 ?
raywong
2019-09-20 14:12:34 +08:00
@lanjz 用了 307,301 也试过了,跟重定向有关系吗
lanjz
2019-09-20 14:19:06 +08:00
@raywong #6 301 是永久重定向
syrupofplum
2019-09-20 14:23:24 +08:00
没碰到过这种问题,插个眼。
raywong
2019-09-20 14:35:01 +08:00
@lanjz 清完缓存又是正常的,不会出现路由问题,但是不能每次都 Disable cache 吧...
raywong
2019-09-20 15:06:47 +08:00
@lanjz 看了一下确实是用了 301(没有改回来)。现在改了一下好像可以了。感谢
raywong
2019-09-20 15:18:50 +08:00
@Hanggi
@ChristopherWu
@Carseason
@guonaihong
谢谢大家,问题解决了,是由于我用了 301 重定向导致的。改了一下貌似没问题了
Pythondr
2019-09-20 16:51:30 +08:00
搞什么大新闻
useben
2019-09-20 17:11:01 +08:00
有问题先去 issus 看下
90928yao
2019-09-20 18:00:03 +08:00
gin 是用的 httprouter...没这么低级的错误吧
TypeErrorNone
2019-09-20 18:02:59 +08:00
整天就想搞个大新闻
allgy
2019-09-20 19:02:03 +08:00
httprouter 实现基于 Radix tree,只能精确匹配

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

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

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

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

© 2021 V2EX