使用Postman调测
概述
Postman是网页调试与辅助接口调用的工具,具有界面简洁清晰、操作方便快捷的特性,可以处理用户发送的HTTP请求,例如:GET,PUT、POST,DELETE等,支持用户修改HTTP请求中的参数并返回响应数据。
为充分了解接口,建议提前获取应用侧API参考查阅。我们已经写好了Postman的collection,在Collection中接口的请求结构体已经完成可以直接使用。
本文档以Postman为例,模拟应用服务器以HTTPS协议接入物联网平台,调测以下API接口:
前置条件
- 下载并安装Postman。若未安装,请参考安装Postman进行安装。
- 下载Collection。
- 已在管理控制台完成产品模型和编解码插件的开发。
安装并配置Postman
- 安装Postman。
- 导入Postman环境变量。
- 单击右上角的图标,打开“MANAGE ENVIRONMENTS”窗口。
- 单击“Import”,在弹出的页面中,单击“选择文件”,导入IoTDA.postman_environment.json文件(下载Collection解压后获取)。
- 单击导入的“IoTDA”环境。
- 参考下表修改以下参数。
参数名
参数说明
IAMEndpoint
IAM终端节点,参考IAM地区和终端节点获取。
IoTDAEndpoint
物联网平台终端节点,参考2.e。
IAMUserName
IAM用户名,参考我的凭证获取。
IAMPassword
登录华为云的密码。
IAMDoaminId
账号名,参考我的凭证获取。
region
开通设备接入服务的区域。
- IoTDAEndpoint参考。
- 返回主页,选择环境变量为刚导入的“IoTDA”。
- 单击右上角的图标,打开“MANAGE ENVIRONMENTS”窗口。
- 单击左上角的“Import”,单击“Choose Files”导入“应用侧API调用(V5版本).postman_collection.json”。
导入成功后,显示如下。
调测“获取IAM用户Token”接口
在访问物联网平台业务接口前,应用服务器需要调用“获取IAM用户Token”接口鉴权,华为云认证通过后向应用服务器返回鉴权令牌X-Subject-Token。
应用服务器需要构造一个HTTP请求,请求示例如下:
POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } }
参考API文档,调测获取IAM用户Token接口。
- 配置“获取IAM用户Token”接口的HTTP方法、URL和Headers。
- 配置“获取IAM用户Token”接口的Body。
- 单击“Send”,在下方查看返回码和响应消息内容。
- 请将返回头域中的的X-Subject-Token更新到“IoTDA”环境的“X-Auth-Token”参数中,以便于在调用其它接口时使用。若超过令牌有效时间,需要重新调用鉴权接口。
这里我们已经在postman中自动更新了“X-Auth-Token”参数,使用时无需手动操作。
调测“查询IAM用户可以访问的项目列表”接口
在访问物联网平台业务接口前,应用服务器需要调用“查询IAM用户可以访问的项目列表”接口获取用户的项目ID,用于后续访问物联网平台业务接口。
应用服务器需要构造一个HTTP请求,请求示例如下:
GET https://iam.cn-north-4.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ********
参考API文档,调测查询IAM用户可以访问的项目列表接口。
- 配置“查询IAM用户可以访问的项目列表”接口的HTTP方法、URL和Headers。
- 单击“Send”,在下方查看返回码和响应消息内容。
- 返回body中包含一个projects列表,查找其中“name”参数值与“IoTDA”环境中“region”参数值相同的条目,取其“id”参数值更新到“IoTDA”环境中“project_id”参数,以便于在调用其它接口时使用。
这里我们已经在postman中自动更新了“project_id”参数,使用时无需手动操作。
调测“创建产品”接口
在设备接入物联网平台前,应用服务器需要调用此接口创建产品,后续注册设备时需要使用这里创建的产品。
应用服务器需要构造一个请求,请求示例如下:
POST https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/products Content-Type: application/json X-Auth-Token: ******** { "name" : "Thermometer", "device_type" : "Thermometer", "protocol_type" : "MQTT", "data_format" : "binary", "manufacturer_name" : "ABC", "industry" : "smartCity", "description" : "this is a thermometer produced by Huawei", "service_capabilities" : [ { "service_type" : "temperature", "service_id" : "temperature", "description" : "temperature", "properties" : [ { "unit" : "centigrade", "min" : "1", "method" : "R", "max" : "100", "data_type" : "decimal", "description" : "force", "step" : 0.1, "enum_list" : [ "string" ], "required" : true, "property_name" : "temperature", "max_length" : 100 } ], "commands" : [ { "command_name" : "reboot", "responses" : [ { "response_name" : "ACK", "paras" : [ { "unit" : "km/h", "min" : "1", "max" : "100", "para_name" : "force", "data_type" : "string", "description" : "force", "step" : 0.1, "enum_list" : [ "string" ], "required" : false, "max_length" : 100 } ] } ], "paras" : [ { "unit" : "km/h", "min" : "1", "max" : "100", "para_name" : "force", "data_type" : "string", "description" : "force", "step" : 0.1, "enum_list" : [ "string" ], "required" : false, "max_length" : 100 } ] } ], "option" : "Mandatory" } ], "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka" }
参考API文档,调测物联网平台创建产品接口。
注:在以下步骤中,只呈现样例调测用到的参数。
- 配置“创建产品”接口的HTTP方法、URL和Headers。
- 配置“创建产品”接口的BODY。
- 单击“Send”,在下方查看返回码和响应消息内容。
- 将返回的“product_id”更新到“IoTDA”环境中的“product_id”参数中,用于后续其它接口使用。
注:在postman中自动更新了“product_id”参数,使用时无需手动操作。
调测“查询产品”接口
应用服务器如果需要查询之前创建的产品详情,可以调用此接口。
应用服务器需要构造一个请求,请求示例如下:
GET https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/products/{product_id} Content-Type: application/json X-Auth-Token: ********
接下来参考API文档,调测物联网平台查询产品接口。
注:在以下步骤中,只呈现样例调测用到的参数。
- 配置“查询产品”接口的HTTP方法、URL和Headers。
- 单击“Send”,在下方查看返回码和响应消息内容。
调测“创建设备”接口
在设备接入物联网平台前,应用服务器需要调用此接口在物联网平台创建设备。在设备接入物联网平台时携带设备唯一标识,完成设备的接入认证。
应用服务器需要构造一个HTTP请求,请求示例如下:
POST https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/devices Content-Type: application/json X-Auth-Token: ******** { "node_id" : "ABC123456789", "device_name" : "dianadevice", "product_id" : "b640f4c203b7910fc3cbd446ed437cbd", "auth_info" : { "auth_type" : "SECRET", "secure_access" : true, "fingerprint" : "********", "secret" : "********", "timeout" : 300 }, "description" : "watermeter device" }
参考API文档,调测物联网平台创建设备接口。
注:在以下步骤中,只呈现样例调测用到的参数。
- 配置“创建设备”接口的HTTP方法、URL和Headers。
- 配置“创建设备”接口的Body。
- 单击“Send”,在下方查看返回码和响应消息内容。
- 请将返回的“device_id”更新到“IoTDA”环境中的“device_id”参数中,用于后续其它接口使用。
注意:在postman中自动更新了“device_id”参数,使用时无需手动操作。
调测“查询设备”接口
应用服务器需要查询在物联网平台创建的设备详情时,可以调用此接口。
应用服务器需要构造一个HTTP请求,请求示例如下:
GET https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/devices/{device_id} Content-Type: application/json X-Auth-Token: ********
参考API文档,调测物联网平台查询设备接口。
注:在以下步骤中,只呈现样例调测用到的参数。
- 配置“查询设备”接口的HTTP方法、URL和Headers。
- 单击“Send”,在下方查看返回码和响应消息内容。