grpc protobuf接口文档生成插件

Maven-Protobuf-Doc是一款个人独立开发的开源插件,用于自动生成gRPC-protobuf API文档。该插件基于谷歌的protoc-gen-doc进行了二次封装集成,并需配合showdoc工具使用。支持Windows及Linux环境。

github:maven-protobuf-doc

个人独立开发grpc protobuf api文档生成插件,开源项目,欢迎各位大佬试用,积极接纳优化建议,喜欢的大佬来个☆☆☆

关于Maven-Protobuf-Doc

Maven-Protobuf-Doc
基于谷歌 protoc-gen-doc
进行的二次Java封装集成,轻松实现解析protobuf文件自动生成api文档接口,插件需结合 showdoc
文档工具使用,目前仅支持Windows、Linux环境下使用,后续持续更新,陆续推出各平台适配

使用教程

Maven坐标

<plugin>
    <</
gRPC接口开发中,自动生成文档是一个重要的需求,尤其在多人协作或维护大型项目时。实现一键生成gRPC接口文档的方法通常依赖于一些成熟的工具和框架支持。以下是几种常见的方法: ### 1. 使用 `protoc` 插件生成文档 gRPC 接口定义基于 `.proto` 文件,可以使用 `protoc` 编译器结合插件来自动生成文档。例如,`protoc-gen-doc` 是一个常用的插件,它可以将 `.proto` 文件中的注释提取出来并生成 HTML、Markdown 等格式的文档。 ```bash protoc --doc_out=docs --doc_opt=html,proto.html your_service.proto ``` 该命令会根据 `your_service.proto` 文件内容生成 HTML 格式的文档,并输出到 `docs` 目录下[^1]。 ### 2. 使用 `buf` 工具链 `buf` 是一个现代化的 gRPC 工具链,支持对 `.proto` 文件进行 linting、breaking change 检测以及文档生成等功能。通过 `buf generate` 命令结合适当的配置文件(如 `buf.gen.yaml`),可以自动化生成文档。 首先,在 `buf.gen.yaml` 中定义生成规则: ```yaml version: v1 plugins: - name: doc out: ./docs opt: html ``` 然后运行以下命令: ```bash buf generate ``` 该命令会按照配置生成 HTML 文档[^1]。 ### 3. 使用 Swagger 或 OpenAPI 集成 虽然 gRPC 原生不直接支持 OpenAPI,但可以通过工具如 `grpc-gateway` 将 gRPC 接口转换为 RESTful API,并利用 Swagger UI 展示接口文档。此外,`protoc` 插件 `protoc-gen-openapiv2` 可以直接从 `.proto` 文件生成 OpenAPI 规范文件。 ```bash protoc --openapiv2_out=./swagger_output --openapiv2_opt=logtostderr=true your_service.proto ``` 生成的 OpenAPI 文件可以直接在 Swagger UI 中加载查看[^1]。 ### 4. 使用第三方工具 - **gRPC Debugging Tools**:某些调试工具(如 Postman 的 gRPC 客户端)也提供了文档生成的功能,可以通过其内置功能导出接口文档。 - **gRPC UI**:类似 `ghz` 的工具也可能提供文档生成能力,尽管它的主要功能是性能测试和负载测试[^2]。 ### 5. 集成 CI/CD 流程 为了实现“一键”生成文档的目标,可以将上述工具集成到 CI/CD 流程中。例如,在 GitHub Actions 中配置自动化任务,每次提交代码后自动更新文档。 ```yaml jobs: generate-docs: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Install protoc and plugins run: | # 安装 protoc 和 protoc-gen-doc sudo apt-get install -y protobuf-compiler go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@latest - name: Generate docs run: | protoc --doc_out=docs --doc_opt=html,proto.html your_service.proto - name: Deploy docs uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./docs ``` 此工作流会在每次提交后生成文档并部署到 GitHub Pages 上,供团队成员访问。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值