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

2019 年 9 月 20 日
 raywong

示例:

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

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

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

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

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

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

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

https://study.congcong.us/t/602467

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

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

© 2021 V2EX