• Postman的各种参数你都用对了吗?


    大家好,我是G探险者。

    Postman我们都不陌生,作为一个广泛使用的 HTTP 客户端,平时我们使用它来测试接口,无非就是把接口的url放进去,然后根据请求类型get或者post,在不同位置传一下参数,除了常见的 Params 和 Body 配置外,还有许多其他重要的功能和配置。以下是对这些主要功能的详细介绍:

    1. 配置介绍

    1.1 Authorization(授权)

    • Postman 支持多种授权方式,例如 Basic Auth、Bearer Token、OAuth 2.0 等。
    • 用户可以在此部分输入凭证,例如用户名和密码或访问令牌,以通过 API 的安全验证。

    1.2 Headers(请求头)

    • 请求头部是 HTTP 请求的重要组成部分,可用于提供关于请求或响应的额外信息。
    • 常见的头部包括 Content-Type(指示请求体的媒体类型)、Accept(客户端能接受的响应类型)等。

    1.3 Body(请求体)

    • 在 POST 或 PUT 请求中,Body 部分用于发送数据到服务器。
    • 支持多种格式,如 raw(可以选择 JSON、文本、XML 等格式)、form-data、x-www-form-urlencoded 等。

    1.4 Pre-request Script(预请求脚本)

    • 这是在实际请求发送前执行的 JavaScript 脚本。
    • 可用于设置环境变量、参数、动态修改请求体或头部等。

    1.5 Tests(测试脚本)

    • 在收到响应后执行的 JavaScript 脚本。
    • 常用于断言响应数据,例如验证状态码、响应时间、返回的 JSON 结构等。

    1.6 Settings(设置)

    • 包括一些全局配置,如代理设置、SSL 证书验证、请求超时设置等。
    • 可以调整这些设置以符合特定的测试环境或要求。

    1.7 Params(参数)

    • 通常用于 GET 请求,也可以用于其他类型的请求。
    • 这里可以添加 URL 参数,Postman 会自动将它们拼接到请求的 URL 后面。

    1.8 Environment(环境)

    • 允许用户定义一系列变量,这些变量可以在不同的请求和脚本中使用。
    • 例如,可以为不同的开发阶段(开发、测试、生产)设置不同的环境变量。

    2. 对比分析

    这个表格提供了每个配置项的描述、示例以及它们在 API 测试和开发中的常见应用场景。

    参数描述示例适用场景
    Authorization(授权)用于配置 API 认证的方法Basic Auth:用户名admin,密码123456
    Bearer Token:mF_9.B5f-4.1JqM
    访问受密码保护的资源,如 API 接口
    Headers(请求头)包含关于请求的元数据Content-Type: application/json
    Accept: 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 提供的这些工具和设置非常灵活,可以满足多种不同的测试需求。

    3. Headers和Body各自放什么类型的参数?

    以上的很多参数,我们平时可能用不上,这里不做重点关注,我们重点关注一下Headers 和Body.这里就有个问题
    什么情况下需要把参数放到Headers里面,什么情况下需要放到Body里面?

    具体取决于参数的用途和请求的类型。以下是详细说明:

    3.1 Headers(请求头)中的参数类型

    1. 认证信息:

      • 当需要验证用户身份时,如使用 Basic Auth 或 Bearer Token,认证信息通常放在请求头中。
      • 示例:Authorization: Basic YWRtaW46MTIzNDU2
    2. 控制信息:

      • 请求头用于传递控制信息,例如告诉服务器如何处理请求。
      • 示例:Content-Type: application/json 指明请求体是 JSON 格式。
    3. 缓存控制:

      • 控制或获取关于缓存策略的信息,如 If-None-Match 或 Cache-Control
    4. 自定义信息:

      • 有些 API 需要特定的头信息来处理请求,例如 API 密钥。
      • 示例:X-API-KEY: abcdef123456
    5. 接受类型:

      • 通过 Accept 头部指定客户端期望的响应格式,例如 Accept: application/xml

    3.2 Body(请求体)中的参数类型

    1. 数据创建和修改:

      • 在 POST 和 PUT 请求中,当需要在服务器上创建或修改资源时,数据通常放在请求体中。
      • 示例:发送 JSON 数据 { "name": "John", "age": 30 } 以创建新用户。
    2. 大量数据:

      • 当需要发送大量数据时,比如文件上传或长表单,这些数据放在请求体中。
    3. 非 URL 编码的数据:

      • 某些类型的数据不适合放在 URL 中(如二进制数据),因此需要放在请求体里。
    4. 复杂结构:

      • 当数据结构较复杂或有嵌套时(如 JSON 或 XML 格式),放在请求体中更合适。

    4. 小结

    • Headers 用于传递关于请求本身的元数据,比如如何处理请求、认证信息、期望的响应类型等。
    • Body 主要用于传递具体的内容数据,尤其是在创建或修改资源时。

    正确地选择将参数放在 Headers 还是 Body 中,对于确保 HTTP 请求的正确性和高效性至关重要。

  • 相关阅读:
    【Spring Cloud系列】Feign详解与实战
    Echarts图表跟随父容器的变化自适应
    javascript错误处理和调试工具
    IDEA 设置代码注释模板
    Python Gui之tkinter(下)
    回归预测 | MATLAB实现CNN-SVM卷积支持向量机多输入单输出回归预测
    大数据调优与传统数据调优之间有哪些异同点?
    Android屏幕刷新机制
    软考-des题目案例
    模拟穷举 731. 我的日程安排表 II
  • 原文地址:https://blog.csdn.net/qq_34050399/article/details/134534409