要解决的问题
- 想知道 SDK 与服务器通信的具体内容,这样可以方便调试。
- 很多地方出现「curl 命令」,但是自己不擅长使用命令行,希望调试这些请求。
- 想调试云函数。
Postman 简介
Postman 是一个 HTTP Client 工具,可以方便的自定义 HTTP 请求,非常适合用来调试 REST API,并且有一系列辅助功能,比如请求历史记录,环境变量,请求分类收藏等。官网: https://www.getpostman.com/
Postman 有 Chrome 插件版本,也有独立应用版本,差别不大。
场景 1: curl 命令转化
在 LeanCloud 文档很多地方都能看到类似的 curl 命令,比如 这段 文档:
为了在 LeanCloud 上创建一个新的对象,应该向 class 的 URL 发送一个 POST 请求,其中应该包含对象本身。例如,要创建如上所说的对象:
curl -X POST \
-H "X-LC-Id: 4h2h4okwiyn8b6cle0oig00vitayum8ephrlsvg7xo8o19ne" \
-H "X-LC-Key: 3xjj1qw91cr3ygjq9lt0g8c3qpet38rrxtwmmp0yffyoy2t4" \
-H "Content-Type: application/json" \
-d '{"content": "每个 Java 程序员必备的 8 个开发工具","pubUser": "LeanCloud官方客服","pubTimestamp": 1435541999}' \
https://api.leancloud.cn/1.1/classes/Post
如果要「翻译」成 Postman 上的请求,是这样的:
场景 2:SDK debug 信息
有时候希望指导 SDK 与服务器通信的具体内容,能解决 LeanCloud SDK 中70%问题的调试方法 的文档提到了如何开启 SDK 的 debug 日志功能。
开启 debug 日志之后,所有 SDK 网络请求都会输出类似 curl 的命令,比如刚才文档里提到的这个命令:
curl -X GET
-H X-avoscloud-Application-Id: APP_I
-H X-avoscloud-Application-Key: YourAppKey
-G --data-urlencode 'include=friends'
https://api.leancloud.cn/1.1/users/53f0d534e4b0c1ae470ca958
整理到 Postman 是这样的效果:
场景 3:调试云函数
通过 Postman 来调试云函数也非常方便,而且还有历史和收藏的功能,非常方便重现请求。比如云引擎 Node.js 默认项目框架 本地运行之后,可以在 http://localhost:3001 看到类似这样的云函数调试页面:
云函数本质上也是运行在 web 服务器上,通过 REST API 对外提供服务的,具体的其 url 是 https://api.leancloud.cn/1.1/functions/<云函数名称> ,在 REST API - 云函数 部分可以看到如何使用 curl 来请求云函数,比如文档里就有类似这样的说明:
云函数可以通过 REST API 来使用,比如调用一个叫 hello 的云函数:
curl -X POST \
-H "X-LC-Id: 4h2h4okwiyn8b6cle0oig00vitayum8ephrlsvg7xo8o19ne" \
-H "X-LC-Key: 3xjj1qw91cr3ygjq9lt0g8c3qpet38rrxtwmmp0yffyoy2t4" \
-H "Content-Type: application/json" \
-d '{}' \
https://api.leancloud.cn/1.1/functions/hello
转换为 Postman 上的请求类似这样:
其他补充
Postman 会把之前发过的请求列表显示在左侧,而且还有请求收藏的功能,可以方便的使用 Postman 来保存重要的,常用的请求,甚至可以用来做测试。
而且还有「环境」的概念,比如创建三个环境: dev,stg,prod:
然后测试云函数可以这样写:
结束
希望能给大家带来帮助。