Skip to content

grpc-gateway

项目功能
该项目是一个 gRPC 到 HTTP 的网关工具,用于将 gRPC 服务暴露为 RESTful API,支持生成 JSON API 处理器、反向代理、OpenAPI 文档等。

使用方法
可以通过 bufprotoc 工具进行代码生成。使用 buf 可以管理插件版本,使用 protoc 需要配置插件参数。支持通过注解、外部配置文件等方式定义 HTTP 映射规则。

主要特性

  • 支持将 gRPC 接口转换为 RESTful API;
  • 支持查询参数、路径参数、请求体等方法参数;
  • 支持枚举、流式接口、HTTP 头映射到 gRPC 元数据;
  • 可生成 OpenAPI v2 文档;
  • 支持 PATCH 请求转换为 Field Mask;
  • 支持 Protobuf Editions(2023 版)和 Go Opaque API;
  • 可配置 JSON 序列化方式,支持自定义路径模板。

其他信息

  • 项目使用 BSD 3-Clause 许可证;
  • 提供了丰富的示例和文档,包括视频教程;
  • 不支持 XML 编码、双向流式通信等特性。