Repolode
fullstorydev

fullstorydev/grpcui

一个命令行工具,可启动网页界面,交互式地向 gRPC 服务发送请求,类似面向 REST 的 Postman。

可替代:Postman

Star
5,936
Fork
427
未关闭 Issue
79
最近提交
5天前

这是什么?

grpcui 让开发者无需编写客户端代码,就能在浏览器中调用 gRPC 方法。启动后会提供一个基于表单的网页界面,可以选择服务和方法、填写请求字段、添加 metadata,并查看响应的 header、正文和 trailer。

服务结构可以通过 server reflection 获取;若服务端未开启反射,则可以使用 .proto 源文件或编译后的 protoset 文件。请求表单根据消息定义动态生成,支持嵌套消息、oneof、map 以及 Timestamp 等well-known类型,也可以直接粘贴和编辑 JSON 格式的请求体。

支持明文和 TLS 连接,包括双向 TLS。流式方法同样可用,但请求流需要一次性构造完成,响应流则在全部返回后统一展示,因此不支持像 grpcurl 那样的交互式双向流。项目还提供 Go 包,可将同样的界面嵌入到已有的 HTTP 服务中。

核心功能

  • 01根据 gRPC 服务结构自动生成交互式网页表单。
  • 02支持通过 server reflection、.proto 文件或 protoset 文件获取服务结构。
  • 03支持明文连接和 TLS,包括双向 TLS。
  • 04支持一元方法和流式方法,并可直接编辑 JSON 请求体。
  • 05展示响应的 header、消息内容、错误状态码和 trailer。
  • 06提供 Go 包,可将界面嵌入其他 HTTP 服务。

适用场景

  • 开发阶段无需编写客户端代码,手动测试 gRPC 服务。
  • 通过反射接口浏览并探索不熟悉的 gRPC API。
  • 调试需要特定 metadata 或 TLS 客户端证书的请求。
  • 在内部 Go Web 应用中嵌入 gRPC 测试控制台。

快速上手

  1. 1

    使用 Homebrew 安装(macOS 或 Linux)

    brew install grpcui
  2. 2

    或使用 Go 工具从源码安装

    go install github.com/fullstorydev/grpcui/cmd/grpcui@latest
  3. 3

    对明文 gRPC 服务器运行 grpcui,然后在浏览器中打开输出的网址

    grpcui -plaintext localhost:12345

使用前须知

  • 双向流不支持交互:必须一次性输入全部请求消息,响应也会一并显示。

收录于专题

标签

常见问题

grpcui 是什么?
一个命令行工具,可启动网页界面,交互式地向 gRPC 服务发送请求,类似面向 REST 的 Postman。 grpcui 让开发者无需编写客户端代码,就能在浏览器中调用 gRPC 方法。启动后会提供一个基于表单的网页界面,可以选择服务和方法、填写请求字段、添加 metadata,并查看响应的 header、正文和 trailer。
grpcui 可以免费使用吗?用的什么许可证?
grpcui 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
grpcui 还在维护吗?
活跃维护中。grpcui 最近一次提交是在 2026年11月2日。
grpcui 适合用来做什么?
开发阶段无需编写客户端代码,手动测试 gRPC 服务。 通过反射接口浏览并探索不熟悉的 gRPC API。 调试需要特定 metadata 或 TLS 客户端证书的请求。 在内部 Go Web 应用中嵌入 gRPC 测试控制台。
grpcui 怎么安装和运行?
使用 Homebrew 安装(macOS 或 Linux): brew install grpcui 或使用 Go 工具从源码安装: go install github.com/fullstorydev/grpcui/cmd/grpcui@latest 对明文 gRPC 服务器运行 grpcui,然后在浏览器中打开输出的网址: grpcui -plaintext localhost:12345
在哪里获取 grpcui?
源代码和安装说明在 GitHub 上:https://github.com/fullstorydev/grpcui

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目