首先,http请求常见的参数类型有:Query String Parameters,FormData,Request Payload
他们之间有什么不同呢?
一、Http常见请求参数
(1)Query String Parameters
当发送Get请求时,参数为字符串string类型,参数以URL?key1=value1&key2=value2的形式
参考以下的报文:
Request URL:http://api.eeyescloud.com/eeyes-neo-api/gasOrigin/monitorData?pointId=5&energyTypeCode=1&token=d87e8bf414f07e0dd9fa218f2d23c1a9
Request Method:GET
其在postman中 传参用Params(Query Params 字典params={key1: value1, key2: value2})
(2) FormData
当发起post请求时,content-type未指定时,默认content-type="application/x-www-form-urlencoded"
以form表单提交参数,转码拼接后的参数直接放在请求体中,不会在浏览器的地址栏显示。
其在postman中 传参用Body_x-www-form-urlencoded
若content-type=multipart/form-data;boundary=----WebKitFormBoundaryiSN154kz8vMBrXRG
则用postman中的Body_form-data传参,里面支持传text和file文档
(3)Request-payload
当发起一次post请求时,content-type="application/json",就说明传的参数是json字符串类型
参数不会显示在URL中。
若在postman中传参,用Body_Raw,选择json格式。
二、Requests模块请求不同参数的接口实例
(1)get请求+content-type='application/json;charset=utf-8'+参数类型Query String Parameters
(2) Post请求+content-type='application/json;charset=utf-8'+参数类型Query String Parameters+Request Payload
注意: 因为conten-type=application/json,支持的是json类型,所以data是字典类型时,需要转成json字符串。
(3)Post请求+content-type="multipart/form-data"+Query Sting Parameters类型+FormData类型