工具现状对于API调试工具,国内近几年已经出现了很多集成度不错的工具,比如Apifox、Apipost。这些工具专注于主要功能的集成,可以一步完成多个功能的集成。但是目前对协议多样性的支持比较慢。截至本文撰写之时,更多类型的支持暂时放在后续规划中。PostmanPostman作为API调试的老大哥,整体功能比较完善,之前已经支持WebSocket(也是BETA)。在最近的版本中,Postman还提供了对gRPC功能的支持。截至本文发稿时,Postman最新版本为v9.14.0,所以本文也是基于该版本进行功能使用的学习和介绍。发行说明Postman已经对最近几个版本的grpc功能进行了Beta测试。Postmanv9.7.1在v9.7.1中,Postman首次支持了gRPC功能的使用,gRPC的单一功能在当时的版本中已经基本支持。主要支持单、单、双向流式gRPC调用。也可以在Postman中使用变量。在这个版本中,我们需要在Postman中手动定义Proto文件。Postmanv9.9.0v9.9.0支持直接加载服务端暴露的gRPC方法直接使用。Postmanv9.14.0可以直接使用本地加载的proto文件作为v9.14.0中的定义文件。Postman中的接口定义过程与v9.7.1基本相同。通过创建新请求并选择gRPC来创建gRPC。其中,主要定义函数分为6个部分,具体划分如下:服务URL需要定义服务URL地址,ip或域名,主要注意指定gRPC的接口。服务方式组更重要的是服务方式的选择。目前有四种添加方式:通过服务器扫描地图。加载本地文件直接通过URL加载定义文件创建一个新的API定义,但是需要注意的是这种服务器映射的方式在我的实际测试中并不能完全扫描所有的服务器接口,可能存在使用问题。导入本地文件,使用导入的url,直接定义新链接,本质上都是在Postman的APIs管理中添加了一个Protobuf定义文件,所以v9.14.0更新中加入的“本地文件导入功能”,只是帮助用户保存的功能在API中创建和定义接口,而是直接将用户的所有功能使用路径都集中在接口调试界面上,我认为这样可以大大提高用户体验。但不同的是,使用本地导入时,如果使用“import”关键字导入其他proto定义文件,postman暂时无法描述这个定义关系。可以直接在request中使用,但是不能保存,也不能保存。记录在API中。所以尽量按照规范在proto文件中描述接口。调用方法选择要调用的具体方法,左边的图标会标注该方法的调用类型。消息定义消息定义区域中有三个选项卡。消息中使用JSON来定义消息结构。使用JSON定义结构时,字符串和数字类型会根据proto中定义的类型自动发送。其他两个的用法和HttpAPI基本一样。便捷工具目前提供“美化”和“请求样本生成”功能。值得注意的是,在早期版本中,示例生成是通过“”图标完成的,而在当前版本中,直接使用文本进行提示。我猜是因为灯泡的图标在大众的使用习惯中主要是“帮助”和“提醒”的意思,所以这个功能的使用率不高,所以直接换成了文字提醒。这部分响应体以JSON格式显示返回信息,以及其他响应状态和访问时间。最后因为实际使用需求,使用了Postman工具的gRPC部分进行学习。根据git上的发行说明和问题观察软件的演变是非常有趣的。
