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

PocketBase自定义路由配置失败:curl请求返回404错误

PocketBase自定义路由404问题解决方法

问题核心在于代码执行顺序错误:你先启动了PocketBase服务,之后才注册OnBeforeServe钩子,此时服务已经完成初始化,新增的路由不会被加载,导致请求返回404。

修正后的代码:

func main() {
    app := pocketbase.New()
    
    // 先注册服务启动前的钩子,添加自定义路由
    app.OnBeforeServe().Add(func(e *core.ServeEvent) error {
        e.Router.GET("/hello/:name", func(c echo.Context) error {
            fmt.Printf("hello world!")
            name := c.PathParam("name")

            return c.JSON(http.StatusOK, map[string]string{"message": "Hello " + name})
        })

        return nil
    })
    
    // 最后启动服务
    if err := app.Start(); err != nil {
        log.Fatal(err)
    }
}

改动说明:

  • 将app.Start()调用移到OnBeforeServe钩子注册之后,确保服务启动前路由已被正确添加。

重新运行程序后,执行curl http://localhost:8090/hello/a,就能得到预期的JSON响应:

{"message":"Hello a"}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 09:30:53