迁移
迁移到 Plumego。从 Gin、Echo 或 Chi 出发。
每条迁移路径的成本和模式各不相同。Chi 是摩擦最低的路径;Gin 和 Echo 需要改写 handler。选择你的源框架,看看哪些需要改变,哪些保持不变。
来自 Gin
中迁移成本 每个服务 1–3 天
func(c *gin.Context) → func(w, r)
Handler
所有 handler 需从 gin.Context 改写。路由语法保持不变。
中间件
中间件需从 gin.HandlerFunc 适配为 func(http.Handler) http.Handler。
路由
/foo/:id 可以直接映射。Group 结构保持不变。
你能得到什么
- 无自定义 context 类型
- stdlib 中间件无需适配器即可使用
- 内核零传递依赖
来自 Echo
中迁移成本 每个服务 1–3 天
func(c echo.Context) error → func(w, r)
Handler
所有 handler 需从 echo.Context 改写。error return 惯用法替换为 contract.WriteError。
中间件
Echo 中间件需要适配。Logger、CORS 和 recover 都有 Plumego 对应实现。
路由
路由语法相似。Echo group API 可直接映射到 router.Group。
你能得到什么
- 无自定义 context 类型
- 显式错误模型
- 内核零传递依赖
还没准备好一次性迁移所有内容?
阅读渐进式采用指南,了解分阶段方案——先迁移稳定根,仅在需要时引入扩展,无需大爆炸式重写。