写点什么

PostmangRPC 功能使用介绍

  • 2022 年 3 月 02 日
  • 本文字数:1319 字

    阅读完需:约 4 分钟

PostmangRPC功能使用介绍

工具现状

对于 API 调试工具来说近几年国内有不少整合的比较好的工具,比如 Apifox、Apipost 等。这些工具主打主打功能整合,多种功能集成一步到位,但目前对于协议的多样性则支持得较慢,截止本文写作时间点,其更多类型的支持暂时放到了后续规划中。

Postman

Postman 作为 API 调试的老大哥,整体的功能时比较全的,WebSocket(也是 BETA)之前就已经支持了。而在最近的几个版本中 Postman 也提供了 gRPC 功能的支持。截止本文时间点,Postman 最新版本为 v9.14.0,所以本文也是基于该版本进行学习和功能使用介绍。

Release Notes

Postman 在最近几个版本中对 grpc 的功能进行了 beta 测试。

Postman v9.7.1

在 v9.7.1 中 Postman 首次支持了 gRPC 功能的使用,在当时版本中已经基本支持了 gRPC 的单独功能使用。主要支持了单次、单双向流式的 gRPC 调用。同时也能使用 Postman 中的变量。

在这个版本中需要我们手动在 Postman 中定义 Proto 文件。

Postman v9.9.0

在 v9.9.0 中支持了直接加载服务器中暴露出来的 gRPC 方法来直接使用。

Postman v9.14.0

在 v9.14.0 中可以直接使用加载本地中的 proto 文件作为定义文件来使用。

使用流程

在 Postman 中的接口定义流程和 v9.7.1 中基本一致,通过新建 Request 以及选择 gRPC 来建立一个 gRPC。其中主要定义功能我分为了 6 块,具体分割如下图:

1. service URL

需要定义 service URL 地址,ip 或域名,主要注意是要指定 gRPC 的接口。

2. 服务方法组

比较重要的是服务方法的选择。目前有四种添加途径:

  1. 通过服务器扫描映射。

  2. 加载本地文件

  3. 通过 URL 加载定义文件

  4. 直接创建一个新的 API 定义

但需要注意,通过服务器映射的这个方法我自己实际测试并不能完全地扫描到所有的服务器接口,可能是有用法上的问题。

而导入本地文件、使用导入 url 以及直接定义新的链接本质上都是在 Postman 的 APIs 管理中添加了一个 Protobuf 定义文件,所以在 v9.14.0 版本的更新中所添加的“本地文件导入功能”,仅仅是帮助用户省去了在 APIs 中新建定义接口的功能,但是直接将用户的功能使用路线全部聚焦到接口调试界面中,我认为很大程度的提高了用户使用体验。

但是不一样的是,在使用本地导入的时候,如果使用"import"关键字引入了其他的 proto 定义文件,postman 暂时无法描述这种定义关系,在 request 中可以直接使用,但是无法保存,也无法记录到 APIs 中。所以尽量按照规范将接口描述在一个 proto 文件中。

3. 调用方法

选择需要调用的具体方法,其中左侧图标会标记出方法的调用类型。

4. 消息定义

消息定义区域中有有三个 tab,message 中使用 JSON 方式来定义消息结构体,在使用 JSON 定义结构体的时候字符串与数值类型会自动在发送的时候根据 proto 中定义的类型。其余两个的使用方式与 Http API 基本一致。

5. 便捷工具

目前提供了“美化”与“请求样例生成”功能,值得注意的是,在早期版本中样例生成是用""的图标,但是在目前版本中直接使用文字进行提示了,我猜测是因为灯泡的图标在大众的使用习惯中主要是“帮助”、“提示”的意思,所有导致该功能的使用率较低,所以直接换成了文字进行提示。

6. 响应体

该部分以 JSON 格式展示返回信息,以及其他的响应状态与访问时间等。

最后

因为实际的使用需求所以对该 Postman 工具中的 gRPC 部分进行了使用上的学习。根据 Release Notes 以及 git 上的 Issues 观察了软件的演进这件事还挺有意思的。

发布于: 刚刚阅读数: 2
用户头像

人肉bug制造机 2020.06.26 加入

欢迎关注同名公众号!

评论

发布
暂无评论
PostmangRPC功能使用介绍_gRPC_蜜糖的代码注释_InfoQ写作平台