介绍
本文将介绍如何让一个 gRPC 服务之上提供 Swagger UI。
为了能提供 Swagger UI,我们首先要让 gRPC 提供 Restful API,然后,Swagger UI 才可以访问后台。
- 为了能让 gRPC 提供 REST API,我们需要使用 grpc-gateway
- 我们需要使用 protoc-gen-openapiv2 从 proto 文件,创建 Swagger UI 所需要的文件
请访问如下地址获取完整教程:
- https://rkdev.info/cn
- https://rkdocs.netlify.app/cn (备用)
先决条件
使用过 GRPC 的用户都应该知道,protocol buffer 文件需要使用相关的命令行,把 *.proto 文件编译成 *.go 文件。
根据不同需要,会使用到不同的命令行文件。以 Go 语言为例,我们需要大致如下几个命令行文件。
工具 | 介绍 | 安装 |
---|---|---|
protobuf | protocol buffer 编译所需的命令行 | Install |
protoc-gen-go | 从 proto 文件,生成 .go 文件 | Install |
protoc-gen-go-grpc | 从 proto 文件,生成 GRPC 相关的 .go 文件 |