Fiber基础路由需用app.Get/Post等方法注册静态路径,路径必须以/开头,HTTP方法须匹配请求类型,同路径同方法的路由会后者覆盖前者,handler函数必须返回error且参数为*fiber.Ctx。

直接用 app.Get/Post 等方法注册最简路由
Fiber 的基础路由就是指不带参数、不嵌套、不加中间件的静态路径,比如 /、/health、/about。这类路由写起来最直白,调用 app.Get、app.Post 等方法传入路径和处理函数即可。
常见错误是把 handler 函数签名写错:必须返回 error 类型,且参数唯一为 *fiber.Ctx。写成 func() {} 或漏掉 error 返回值,编译会报错或运行时 panic。
-
app.Get("/ping", func(c *fiber.Ctx) error { return c.SendString("pong") })✅ -
app.Get("/ping", func(c *fiber.Ctx) { c.SendString("pong") })❌(缺error返回) -
app.Get("/ping", func() error { return nil })❌(缺*fiber.Ctx参数)
HTTP 方法要匹配实际请求类型
Fiber 不会自动 fallback 到其他方法。注册了 app.Get("/api", h),但用 POST 请求该路径,直接 404;反之亦然。这点和某些框架“方法不匹配就 405”不同,Fiber 默认不响应、不提示,容易误判为路由没生效。
使用场景:调试时发现接口怎么都调不通,先确认 curl 或前端发的是 GET 还是 POST,再核对代码里注册的是 Get 还是 Post。
- 只读查询 → 用
Get - 提交表单或 JSON → 用
Post - 更新资源 → 用
Patch或Put(注意Put语义是全量替换) - 删除操作 → 用
Delete,别用Get带 id 去删(不安全)
路径开头必须带 /,否则注册失败
Fiber 要求所有路由路径以 / 开头,比如 "/user" 合法,"user" 或 "user/"(结尾多斜杠)在 v2/v3 中都会被拒绝,启动时报错 invalid pattern。
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
这是因为底层 radix 树把空字符串 "" 当作根节点,所有路径段都从第一个 / 后开始切分。不加开头 /,引擎无法识别该路径属于哪棵子树。
-
app.Get("/users", h)✅ -
app.Get("users", h)❌(启动失败) -
app.Get("/users/", h)❌(末尾斜杠不合法,除非开启StrictRouting = false)
多个同路径同方法的路由会覆盖,不是叠加
Fiber 不支持“一个路径绑定多个 handler”。如果写了两次 app.Get("/test", h1) 和 app.Get("/test", h2),后者会完全覆盖前者——不会合并执行,也不会报错提醒。
容易踩的坑是团队协作时没人检查重复注册,结果线上行为和本地不一致;或者想用多次 Get 实现类似中间件链,但其实根本没生效。
正确做法:需要组合逻辑时,显式把多个函数串成一个 handler:app.Get("/test", func(c *fiber.Ctx) error { h1(c); return h2(c) }),或改用路由级中间件机制。


















