Fiber 极简高压快线城区
│
├── 路基
│ ├── Go runtime
│ └── fasthttp
│
├── 城区总调度
│ └── fiber.App
│ ├── Listen / Shutdown
│ ├── Config
│ └── Hooks
│
├── 路由系统
│ ├── app.Get/Post/Put/Delete
│ ├── Params :id
│ ├── Wildcard *
│ ├── Optional ?
│ ├── Group("/api")
│ └── Use("/prefix", middleware)
│
├── 请求通道
│ ├── Middleware 1
│ ├── Middleware 2
│ ├── Middleware 3
│ └── Handler
│
├── 当前请求档案袋
│ └── fiber.Ctx
│ ├── Params / Query / Headers / Cookies
│ ├── Bind
│ ├── Locals
│ ├── Status / JSON / SendString
│ ├── Next
│ └── Context / SetContext / RequestCtx
│
├── 输入治理
│ ├── Bind().Body
│ ├── Bind().All
│ └── StructValidator
│
├── 可靠性
│ ├── ErrorHandler
│ ├── recover middleware
│ ├── requestid middleware
│ └── logger middleware
│
├── 互操作
│ ├── net/http handler direct register
│ ├── adaptor middleware
│ └── sub-app mount
│
└── 生产化
├── reverse proxy
├── TrustProxy / ProxyHeader / TrustProxyConfig
├── graceful shutdown
├── prefork
└── custom JSON encoder/decoder如果你读完这一篇,脑子里出现的已经不是:
- “Fiber 有哪些方法?”
- “Fiber 和 Gin benchmark 谁高?”
而是这样一句话:
“我要在这片快线城区里接一辆请求车,让它按顺序过检查站、匹配匝道、拿到临时通行牌、卸货、验货、办事、回执,并且别把临时牌带出城。”
那你就真的入门了。