You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gin框架带:id参数的URL路由返回404错误求助

Gin框架带参数路由返回404的排查方案
  • 检查controllers.ActionHandler的函数签名是否符合要求
    Gin的路由处理器必须是func(c *gin.Context)类型,如果函数定义缺少*gin.Context参数或者参数类型错误,路由会注册失败但不会主动报错,导致访问时返回404。正确的示例如下:

    func ActionHandler(c *gin.Context) {
        id := c.Param("id")
        // 业务逻辑处理
        c.String(200, "Received id: %s", id)
    }
    
  • 排查全局中间件的影响
    虽然你注释了其他路由,但config.Init()可能注册了全局中间件(比如路径前缀、认证拦截等),导致请求路径被修改或拦截。可以临时注释config.Init(),重新启动服务后访问/action/demand,验证是否是中间件导致的问题。

  • 确认请求路径的准确性
    确保浏览器访问的是http://localhost:8080/action/demand,检查是否有拼写错误(比如多写了s变成/actions/demand),Gin路由是区分大小写的,注意路径中字母大小写是否和路由定义一致。

  • 排除模板加载的潜在影响(可能性较低)
    虽然/home能正常访问说明模板加载无问题,但可以临时注释r.LoadHTMLGlob("./templates/*/*"),重启服务后测试路由是否正常,排除模板加载逻辑引发的意外问题。

内容的提问来源于stack exchange,提问作者ancient geek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 09:48:13