
大家好,我是G探险者。
Postman我们都不陌生,作为一个广泛使用的 HTTP 客户端,平时我们使用它来测试接口,无非就是把接口的url放进去,然后根据请求类型get或者post,在不同位置传一下参数,除了常见的 Params 和 Body 配置外,还有许多其他重要的功能和配置。以下是对这些主要功能的详细介绍:
Content-Type(指示请求体的媒体类型)、Accept(客户端能接受的响应类型)等。这个表格提供了每个配置项的描述、示例以及它们在 API 测试和开发中的常见应用场景。
| 参数 | 描述 | 示例 | 适用场景 |
|---|---|---|---|
| Authorization(授权) | 用于配置 API 认证的方法 | Basic Auth:用户名admin,密码123456Bearer Token: mF_9.B5f-4.1JqM | 访问受密码保护的资源,如 API 接口 |
| Headers(请求头) | 包含关于请求的元数据 | Content-Type: application/jsonAccept: application/xml | 指定请求和响应的格式,传递额外的控制信息 |
| Body(请求体) | 用于发送数据到服务器,特别是在 POST 或 PUT 请求中 | JSON 数据:{"name": "John", "age": 30} | 提交表单数据,上传文件,发送 JSON 或 XML 数据 |
| Pre-request Script(预请求脚本) | 在请求发送之前执行的脚本 | 设置环境变量:pm.environment.set("timestamp", new Date().getTime()); | 设置动态参数,如时间戳,生成签名等 |
| Tests(测试脚本) | 在收到响应后执行的脚本 | 验证状态码:pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); | 检查响应的正确性,如状态码,响应体结构 |
| Settings(设置) | 包括 SSL 验证、代理设置、请求超时等全局配置 | 禁用 SSL 证书验证,设置请求超时为 30 秒 | 调整请求的网络行为和性能参数 |
| Params(参数) | 通常用于 GET 请求的 URL 查询参数 | 查询参数:userId=1 | 在 URL 中添加查询参数,用于过滤结果或指定特定资源 |
| Environment(环境) | 用于定义在不同请求和脚本中使用的变量集 | 设置基础 URL:baseUrl = http://localhost:3000 | 在不同开发阶段(如开发、测试、生产)中切换变量 |
通过合理利用这些功能,可以更有效地测试和调试 API,确保其行为符合预期。Postman 提供的这些工具和设置非常灵活,可以满足多种不同的测试需求。
以上的很多参数,我们平时可能用不上,这里不做重点关注,我们重点关注一下Headers 和Body.这里就有个问题
什么情况下需要把参数放到Headers里面,什么情况下需要放到Body里面?
具体取决于参数的用途和请求的类型。以下是详细说明:
认证信息:
Authorization: Basic YWRtaW46MTIzNDU2。控制信息:
Content-Type: application/json 指明请求体是 JSON 格式。缓存控制:
If-None-Match 或 Cache-Control。自定义信息:
X-API-KEY: abcdef123456。接受类型:
Accept 头部指定客户端期望的响应格式,例如 Accept: application/xml。数据创建和修改:
{ "name": "John", "age": 30 } 以创建新用户。大量数据:
非 URL 编码的数据:
复杂结构:
正确地选择将参数放在 Headers 还是 Body 中,对于确保 HTTP 请求的正确性和高效性至关重要。