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