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 请求的正确性和高效性至关重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/171752.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习第11天:降维

文章目录 机器学习专栏 主要思想 主流方法 投影 二维投射到一维 三维投射到二维 流形学习 PCA主成分分析 介绍 代码 内核PCA 具体代码 LLE 结语 机器学习专栏 机器学习_Nowl的博客-CSDN博客 主要思想 介绍:当一个任务有很多特征时,我们…

Foodpanda API连接的艺术:无代码开发如何集成营销系统和广告推广工具

连接Foodpanda和电商平台的无代码开发 Foodpanda不仅是一家提供快速外卖服务的国际品牌,而且其创新的技术解决方案还能帮助电商企业优化系统运营。通过无代码开发的方法,即使没有专业的API开发知识,商家也能实现高效的电商系统和客服系统连接…

第3关:图的广度遍历

500 任务要求参考答案评论2 任务描述相关知识编程要求测试说明 任务描述 本关任务:以邻接表存储图,要求编写程序实现图的广度优先遍历。 相关知识 广度优先遍历类似于树的按层次遍历的过程。 假设从图中某顶点v出发,在访问了v之后依次访…

区块链技术与应用 【全国职业院校技能大赛国赛题目解析】第五套智能合约安全漏洞测试

第五套题的智能合约安全漏洞测试题目 环境 : ubuntu20 Truffle v5.8.3 (core: 5.8.3) Ganache v7.8.0 Solidity v0.8.3 Node v18.16.0 Web3.js v1.8.2 前言 请在测试的时候开启ganache打开,并且在truffle的配置文件配好ganache,之前两个帖子忘说了/(ㄒoㄒ)/~~ truffle-con…

hisi芯片常见专有名词总结SVP MPP NNIE ACL

1.SVP: Smart Vision Platform是海思媒体处理芯片智能视觉异构加速平台。该平台包含了 CPU、DSP、NNIE(Neural Network Inference Engine)等多个硬件处理单元和运行在这些 硬件上 SDK 开发环境,以及配套的工具链开发环境。 不同芯片下的 SVP 硬件资源…

echarts 实现3D立体柱状图示例

该示例有如下几个特点: ①实现tooltip自定义样式(echarts 实现tooltip提示框样式自定义-CSDN博客) ②数据为0时,顶部四边形不展示 ③legend图标设置为自定义图片 【第②也是一个难点,我没有找到其他解决办法&#xff…

如何用CHAT理解数理化?

问CHAT:扇形面积的概念,简单阐述一下。 CHAT回复: 扇形面积是指扇形这种二维几何图形所覆盖的区域大小。 扇形是一个圆的一部分,是由圆心出发的两条射线(半径)和这两条射线所夹角决定的圆周上的弧线所围成…

第2关:图的深度遍历

任务要求参考答案评论2 任务描述相关知识编程要求测试说明 任务描述 本关任务:以邻接表存储图,要求编写程序实现图的深度优先遍历。 相关知识 图的深度优先遍历类似于树的先序遍历, 是树的先序遍历的推广,其基本思想如下: 访…

CHINTERGEO2023中国测绘地理信息技术装备展览会,大势智慧在3010展台期待您的莅临!

11月27日-11月29日 CHINTERGEO2023中国测绘地理信息技术装备展览会 二层-HALL3展厅-3010 大势智慧携符合信创要求的实景三维软硬件全流程解决方案 为您带来一场全国产、真安全的实景三维新型智能测绘装备盛宴 期待您的莅临!

JNPF开发平台凭什么火?

一、关于低代码 JNPF平台在提供无代码(可视化建模)和低代码(高度可扩展的集成工具以支持跨功能团队协同工作)开发工具上是独一无二的。支持简单、快速地构建及不断改进Web端应用程序,可为整个应用程序的生命周期提供全…

onnx模型转换opset版本和固定动态输入尺寸

背景:之前我想把onnx模型从opset12变成opset12,太慌乱就没找着,最近找到了官网上有示例的,大爱onnx官网,分享给有需求没找着的小伙伴们。 1. onnx模型转换opset版本 官网示例: import onnx from onnx im…

拓扑排序-

有向无环图是拓扑排序 拓扑排序将图中所有的顶点排成一个线性序列,使得所有的有向边均从序列的前面指向后面。 拓扑排序使用深度优先搜索来实现,图中有环则无法进行拓扑排序 一个有向图,如果图中有入度为0的点,就把这个点删掉…

“一键导出,高效整理:将之前的部分记录导出!“

亲爱的朋友们,你们是否曾经为了导出之前的记录而感到烦恼?冗长的过程,无法精确控制的选项,实在让人感到心力交瘁。但现在,我们为你带来一种全新的解决方案,让你的工作更轻松,更高效!…

Notpad-- ubuntu下载安装

Notpad-- ubuntu下载安装 下载 Gitee链接: https://gitee.com/cxasm/notepad– 安装 sudo apt install *.deb运行 /opt/apps/com.hmja.notepad/files/Notepad--出错 需要安装qt5 sudo apt-get install qt5-default

基于MS16F3211芯片的触摸控制灯的状态变化和亮度控制(11.20)

1.判断长按短按 u8 Mode_state_flag 0; u32 buttonPressTime 0; u8 longPressflag 0; u8 shortPressflag 0; // 普通认证 执行此处函数 void T_Key0_Func(void) {if (TKey_Signal.oneBit.b0 1){buttonPressTime;}if ((TKey_Signal.oneBit.b0 1) && (Pre_TKey_Re…

Docker快速安装Mariadb11.1

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 Mari…

每日一题 2216. 美化数组的最少删除数(中等,贪心)

贪心,一开始可能会觉得如果删除前面一个相等的元素时,会导致后面的元素前移,造成产生更多的相等的元素对的情况但是在遍历过程中至少要在相等元素对中删除一个,也可以同时删除两个使得后面的元素奇偶关系不变,但是显然…

基于GB28181搭建流媒体服务器--1.概念解析

什么是GB28181 GB28181(国标28181),全称为《中华人民共和国公共安全视频监控联网系统技术要求》,是中国国家标准委员会发布的一个针对公共安全视频监控领域的标准框架。该标准指导了视频监控设备之间的联网互通,统一管理和控制,并…

Vue3鼠标拖拽生成区域块并选中元素

Vue3鼠标拖拽生成区域块并选中元素&#xff0c;选中的元素则背景高亮(或者其它逻辑)。 <script setup> import { ref } from vue// 区域ref const regionRef ref(null)// 内容ref const itemRefs ref(null)// 是否开启绘画区域 const enable ref(false)// 鼠标开始位置…

路线规划问题

文章目录 1、问题描述2、节点类设置3、设置节点之间的关系4、路线规划5、完整类6、结果7、优化 1、问题描述 如下图&#xff0c;存在A~F六个地点&#xff0c;已知所有地点的相关关系&#xff08;每个地点能到达的下一节点名称以及对应的路程&#xff09;&#xff1b; 计算某个…