grpcui(gRPC服务器图形界面)是一款命令行工具,可帮助使用者利用浏览器来与gRPC服务器完成交互。该工具类似grpcurl的扩展,grpcurl提供命令行界面,而grpcui则提供一个基于Web/浏览器的GUI,让用户可以构建请求并发送到gRPC服务器上。
软件功能
grpcui 支持各种 RPC 方法,包括流式方法。但是,它要求你一次性构造整个请求消息流,然后一次性渲染整个结果的响应消息流(所以你不能像grpcurl那样与双向流交互)。
grpcui支持纯文本服务器和TLS服务器,并且有许多TLS配置选项。它还支持相互的TLS,即客户端需要出示客户端证书。
如上所述,如果服务器支持反射服务,grpcui就可以无缝工作。如果不支持,你可以提供.proto源文件,也可以向grpcui提供protoset文件(包含编译后的描述符,由protoc产生)。
web UI除了定义请求消息数据外,还允许你设置请求元数据。在定义请求消息数据时,它使用动态的HTML表单,支持所有可能的protobuf消息的数据输入,包括对知名类型(如google.protobuf.Timestamp)、one ofs和地图的丰富支持。
除了通过HTML形式输入数据外,还可以以JSON格式输入数据,将整个JSON请求体键入或粘贴到文本表单中。
发出RPC后,Web UI会显示所有gRPC响应元数据,包括服务器发送的头和预告片。当然,它还会以HTML表格的形式显示一个人类可以理解的响应体。
更新日志
变化
这个版本包括对Web UI中的一个BUG的修复,对从源代码构建grpcui的用户的一个小修复,以及一些新功能。
网页界面
这些变化影响了命令行工具和 Go 包的使用。
UI现在除了 “请求“、“原始请求 “和 “响应 “选项卡外,还包括一个新的选项卡:“历史 “选项卡。当RPC被调用时,这将把请求的细节存储到浏览器本地存储中。然后,用户可以从这个选项卡中查看RPC的历史记录,并选择一个重新运行。
当试图将元素(通过绿色 “+“按钮)添加到重复或地图字段中时,在另一个地图字段的值内嵌套时,会发生运行时错误。这一点已得到修正。