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
相关产品推荐
相关产品推荐

