无需依赖项来组织你的 Go 中间件 - Alex Edwards

主要观点:多年来用第三方包管理 Go 网络应用的中间件,小项目用[alice],大项目用[chi]或[flow]路由器,Go1.22 引入新功能后尝试弃用第三方依赖转用标准库,引出如何在不使用第三方包的情况下组织管理中间件的问题。
关键信息

  • 不用第三方包管理中间件的三种方式:类似 alice 的链式写法、利用 Go1.23 的slices.Backward函数创建自己的chain类型、创建类似 chi 的标准库路由器实现。
  • 不用第三方包管理中间件的方式存在的问题,如路由声明重复、不易阅读和维护、容易出错等。
    重要细节
  • [alice]示例代码展示了如何创建中间件链并在路由中使用。
  • 利用slices.Backward函数创建的chain类型的代码及使用方式。
  • 标准库路由器实现的Router结构体及相关方法,包括Use添加中间件、Group创建路由组等。

总结来说,介绍了多种在 Go 中管理中间件的方式及各自的特点和代码实现,探讨了弃用第三方包后管理中间件的解决方案。

阅读 26
0 条评论