Postman预请求脚本中request与pm.request的区别及适用场景是什么?
Postman预请求脚本中
request与pm.request的区别及适用场景 核心差异
request是Postman旧版本遗留的全局纯JS对象,没有封装额外操作方法,仅以基础字符串/简单对象格式存储当前请求的url、请求方法、请求头、请求体等基础信息,属性可直接读写。pm.request是Postman新版pm API体系下的官方标准请求对象,属于Postman SDK封装的Request类实例,除了基础请求信息外,内置了大量请求操作方法(比如pm.request.headers.add()、pm.request.body.toString()等),属性读写经过SDK层适配,可自动解析Postman内置变量,兼容性更强。
适用场景
- 仅需要快速读取请求基础参数、不需要做复杂修改的简单场景,可以使用
request,写法更轻量化。 - 需要修改请求参数、操作请求头/请求体、需要适配Postman变量解析、或者使用SDK内置能力的场景,优先使用
pm.request,这也是Postman官方推荐的标准用法。
Hawk认证扩展场景适配建议
扩展Hawk认证功能、绕过内置bug的场景,推荐优先使用pm.request:
Hawk签名生成需要用到的请求路径、请求方法、Host头、请求体哈希等参数,
pm.request可直接获取到解析后的有效值,无需手动处理变量占位符、多格式请求体的适配问题,生成的Hawk认证头也可以直接调用pm.request.headers.add()方法写入,不会出现旧版request变量修改后不生效的兼容问题。
内容的提问来源于stack exchange,提问作者Michal Charemza
相关产品推荐
相关产品推荐

