protoc-gen-go-hertz

背景:我有一个 API 项目 tzf-server,想利用 proto 文件生成 openapi.yaml 配合 Swagger 使用, 并且有与其一致的 HTTP API 供调用。很遗憾的是 Go 生态中尚未有能和 Python 生态中的 FastAPI 接近的 API 框架来简化业务代码编写和文档生成工作。 特别是 Hertz 框架,提供了很多功能甚至通过扩展支持了参数校验功能,但是这些并不能直接输出成 openapi.yaml 文件。 gRPC-Gateway 是一个不错的选择,但是尚不支持 OpenAPI V3。 还有一个隐藏的原因是在用 buf 管理 proto,但是 hertz 的生成工具怎么和 buf 一块使用没有相关的文档。所以我决定自己写一个。

Read more →

tzf 的演进过程

tzf 及相关项目的基础开发工作基本稳定了,在之前的文章零星有些开发和设计过程的资料:

这一篇是最终的总结,从项目的启动到逐步优化和演进的过程。

Read more →