边缘端OpenAPI支持使用第三方工具Postman进行调试并自动生成调用代码,可节约您编写调用代码的时间。
步骤一:下载安装Postman
Postman是一个API开发协作平台,涵盖API的整个生命周期,即从API设计、开发、调试、测试到生成调用代码。
下载并安装Postman。操作详情,请参见Postman官方文档。
说明 本文内容和图片,以Windows 64位系统中下载7.25.0版本Postman为例。
步骤二:设置SSL
Postman默认开启对服务端安全传输协议SSL(Secure Sockets Layer)证书的验证,为保证API正常调用,您可以根据实际情况,选择如下两个方法中的一个,进行SSL设置:
步骤三:调试API
Postman支持从cURL命令导入API请求。
- 在Postman主页面,单击左上角Import。
- 在弹出的IMPORT对话框中单击Raw Text页签,输入CreateAuthCookie接口的cURL命令。
- 单击Continue,系统跳转到Confirm your import页面,Postman会解析cURL命令并自动填充请求字段,单击Import。
- 在Postman主页面,单击Send发送请求,可查看到返回了201 Created的状态码。
响应消息头(Headers)中的
Set-Cookie字段的值,即为认证Cookie,复制该值保存到本地以备后续使用。

- 获取认证Cookie后,重复步骤1~步骤4,可以调用其它API。
下图中以调用
ListThings接口为例。在Postman主页面,单击左上角
Import输入ListThings接口的请求cURL命令后,单击。可以看到Postman自动将CreateAuthCookie接口响应消息头Set-Cookie字段的内容填入ListThings请求消息头的Cookie字段。然后单击
Send。

步骤四:生成代码
Postman支持自动生成调用代码。
- 在Postman主页面已调用成功的API页签右侧单击Code。
- 根据您使用的语言和实际需求,选择语言生成实际的调用代码。

以ListThings接口为例,通过Postman生成的调用代码示例如下:
- Node.js
var https = require('https');
var options = {
'method': 'GET',
'hostname': '127.0.0.1',
'port': 9999,
'path': '/2020-04-30/things',
'headers': {
'Cookie': 'token=2c2cbbc36af52216a6dd0bdba38f575e2b94b029d1bf45bb7a377f**********'
},
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
req.end();
- Python
import requests
url = "https://127.0.0.1:9999/2020-04-30/things"
payload = {}
headers = {
'Cookie': 'token=2c2cbbc36af52216a6dd0bdba38f575e2b94b029d1bf45bb7a377f**********'
}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
- Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
Request request = new Request.Builder()
.url("https://127.0.0.1:9999/2020-04-30/things")
.method("GET", null)
.addHeader("Cookie", "token=2c2cbbc36af52216a6dd0bdba38f575e2b94b029d1bf45bb7a377f**********")
.build();
Response response = client.newCall(request).execute();