app.Get、app.Post等是创建简单路由最直接的方式;路径必须带前导斜杠,参数用:id形式提取,handler必须返回error类型。

app.Get、app.Post 等方法是添加路由最直接的方式,不需要额外配置或中间件,写对路径格式和 handler 签名就能跑通。
路径必须带前导斜杠
写成 "users"(无斜杠)会导致匹配失败,Fiber 路由引擎只认以 / 开头的路径:
-
app.Get("/users", h)✅ 匹配GET /users -
app.Get("users", h)❌ 启动不报错,但请求永远 404 - 子路由也一样:
api.Get("/posts", h)才匹配/api/posts,不是api.Get("posts", h)
参数节点用 :id,不是正则也不是通配符
:id 是占位符,不校验内容格式,只按“非斜杠非空”提取一段路径:
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
-
/users/:id匹配/users/123、/users/abc、/users/%20 - 不能混用:
/files/:user/*path❌ 启动报invalid pattern,通配符*只能出现在末尾 - 多级动态路径要拆开写:
/api/:version/users/:id/profile,而不是/api/v2/users/123/*
handler 必须返回 error
签名固定为 func(c *fiber.Ctx) error,且函数末尾必须有 return:
-
return c.SendString("ok")✅ -
c.SendString("ok"); return nil✅(但冗余) -
c.SendString("ok")❌ 编译失败:missing return at end of function - 常见坑:复制粘贴时删掉了
return,Go 编译器直接拦住,新手容易卡在这
StrictRouting 影响末尾斜杠行为
默认开启 StrictRouting: true,所以:
- 注册了
app.Get("/users", h),请求/users/→ 404 - 请求
/users→ 正常执行 - 别急着关 StrictRouting,否则可能引发
/users和/users/:id的歧义冲突 - 真要兼容末尾斜杠,建议显式注册两条:
app.Get("/users", h)+app.Get("/users/", h)
return,这三处最容易让路由“看似写了却没生效”。


















