V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
raywong
V2EX  ›  Go 编程语言

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

  •  
  •   raywong · 2019-09-20 11:39:20 +08:00 · 4869 次点击
    这是一个创建于 1882 天前的主题,其中的信息可能已经有所发展或是发生改变。

    示例:

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

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

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

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

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

    16 条回复    2019-09-20 19:02:03 +08:00
    Hanggi
        1
    Hanggi  
       2019-09-20 13:27:15 +08:00
    你还是好好确认一下,发出去的请求是否都正确。
    ChristopherWu
        2
    ChristopherWu  
       2019-09-20 13:38:59 +08:00
    不可能吧,一个这么大的框架出这个问题。
    Carseason
        3
    Carseason  
       2019-09-20 13:44:30 +08:00
    在前端 /user/logout 链接处增加一个时间戳试试。
    如 /user/logout?t=123456789
    guonaihong
        4
    guonaihong  
       2019-09-20 13:46:27 +08:00
    有可复现的代码(serve+client)吗?我看下。
    lanjz
        5
    lanjz  
       2019-09-20 13:49:28 +08:00
    重定向用的 301 ?
    raywong
        6
    raywong  
    OP
       2019-09-20 14:12:34 +08:00
    @lanjz 用了 307,301 也试过了,跟重定向有关系吗
    lanjz
        7
    lanjz  
       2019-09-20 14:19:06 +08:00
    @raywong #6 301 是永久重定向
    syrupofplum
        8
    syrupofplum  
       2019-09-20 14:23:24 +08:00
    没碰到过这种问题,插个眼。
    raywong
        9
    raywong  
    OP
       2019-09-20 14:35:01 +08:00
    @lanjz 清完缓存又是正常的,不会出现路由问题,但是不能每次都 Disable cache 吧...
    raywong
        10
    raywong  
    OP
       2019-09-20 15:06:47 +08:00
    @lanjz 看了一下确实是用了 301(没有改回来)。现在改了一下好像可以了。感谢
    raywong
        11
    raywong  
    OP
       2019-09-20 15:18:50 +08:00
    @Hanggi
    @ChristopherWu
    @Carseason
    @guonaihong
    谢谢大家,问题解决了,是由于我用了 301 重定向导致的。改了一下貌似没问题了
    Pythondr
        12
    Pythondr  
       2019-09-20 16:51:30 +08:00
    搞什么大新闻
    useben
        13
    useben  
       2019-09-20 17:11:01 +08:00
    有问题先去 issus 看下
    90928yao
        14
    90928yao  
       2019-09-20 18:00:03 +08:00
    gin 是用的 httprouter...没这么低级的错误吧
    TypeErrorNone
        15
    TypeErrorNone  
       2019-09-20 18:02:59 +08:00
    整天就想搞个大新闻
    allgy
        16
    allgy  
       2019-09-20 19:02:03 +08:00
    httprouter 实现基于 Radix tree,只能精确匹配
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5934 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 01:57 · PVG 09:57 · LAX 17:57 · JFK 20:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.