V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hujun528
V2EX  ›  问与答

go gin 绑定静态文件 报错

  •  
  •   hujun528 · 2021-03-12 00:31:00 +08:00 · 1084 次点击
    这是一个创建于 1138 天前的主题,其中的信息可能已经有所发展或是发生改变。
    func main(){

    r := gin.Default()
    r.POST("/api/CreateStrategy", createstrategy)
    r.GET("/api/FreightSpaceStrategy", getFreightSpaceStrategyData)

    //绑定静态文件夹
    r.Static("/", "./dist")

    }


    报错内容
    panic: wildcard segment '*filepath' conflicts with existing children in path '/*filepath'
    5 条回复    2021-03-28 11:03:05 +08:00
    dreamans
        1
    dreamans  
       2021-03-12 10:51:18 +08:00
    panic 的提示已经很明显了,假设你访问 /api/CreateStrategy 时程序无法判断你是访问./dist/api/CreateStrategy 这个文件路径还是 `createstrategy ` 这个 handler
    hujun528
        2
    hujun528  
    OP
       2021-03-12 11:19:32 +08:00
    @dreamans 这个框架限制太死, “/" 作为整 个网站的静态目录 是很常见的 ,在 node.js 中,会优先去匹配 看是否有对应的静态文件,没有再去匹配 看是否有 绑定 对应的路由,在 gin 中 这样做竟然报错
    togou
        3
    togou  
       2021-03-12 12:42:40 +08:00
    gin 这一点确实很恶心 路由搞个优先路由就行了 为了速度不值得
    maypu
        4
    maypu  
       2021-03-27 14:39:11 +08:00
    遇到了同样的问题
    hujun528
        5
    hujun528  
    OP
       2021-03-28 11:03:05 +08:00
    @maypu 我解决了,new 一个新路由,绑定静态资源就不会冲突
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3445 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:41 · PVG 19:41 · LAX 04:41 · JFK 07:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.