当前位置: 首页 > news >正文

postman学习

一、如何学习postman工具

1、下载和安装 Postman

首先,从 Postman 官方网站(https://www.postman.com)下载并安装 Postman 应用程序。

2、了解基本概念

在开始学习之前,了解一些基本概念,比如请求、响应、HTTP 方法(GET、POST、PUT、DELETE 等)、Headers、Body 等。

3、创建和发送请求

打开 Postman 应用程序,尝试创建和发送不同类型的请求,比如 GET、POST、PUT、DELETE 请求。理解如何填写 URL、Headers 和 Body。

4、使用环境变量和全局变量

学习如何在 Postman 中使用环境变量和全局变量,以便更好地管理和组织请求。

5、测试和断言

掌握如何在 Postman 中编写测试脚本,并使用断言来验证 API 的响应是否符合预期。

6、集合和监视器

了解如何创建请求集合和使用监视器来定期监控 API 的性能和可用性。

7、查看文档和教程

浏览 Postman 官方文档和教程,了解更多高级功能和最佳实践。

8、练习和实践

通过练习不同类型的 API 请求和场景,不断提升对 Postman 工具的熟练程度。

二、基本概念

1. 什么是请求

在计算机科学和网络通信中,请求(Request)是指向服务器发送的消息,用于请求特定资源或执行特定操作。请求通常是通过 HTTP 协议进行发送和接收的,在 Web 开发中尤为常见。HTTP 请求由客户端(如浏览器Postman 等工具)发送到服务器,以获取网页、数据或执行某些操作。

一个标准的 HTTP 请求通常包括以下部分:

  • 请求方法(Request Method) 指示服务器执行的操作类型,如GET(获取资源)、POST(提交数据)、PUT(更新资源)、DELETE(删除资源)等。

  • URL(Uniform Resource Locator): 指定要请求的资源的地址,包括协议、域名、路径等信息。

  • Headers(请求头部): 包含关于请求的元数据信息,如 Content-Type(指定请求体的数据类型)、Authorization(授权信息)、User-Agent(用户代理信息)等。

  • Body(请求体): 仅在某些请求方法(如 POST、PUT)中存在,用于向服务器发送数据,比如表单数据、JSON 数据等。

当客户端发送一个请求到服务器时,服务器会根据请求中的信息执行相应的操作,并返回一个响应(Response)给客户端。通过处理请求和响应,客户端与服务器之间完成了数据交换和通信。

总之,请求是客户端向服务器发送的消息,用于请求特定资源或执行特定操作,是 Web 开发和网络通信中的重要概念。

2.什么是响应

在计算机科学和网络通信中,**响应(Response)**是服务器返回给客户端的消息,用于响应客户端发送的请求。响应通常是通过 HTTP 协议进行发送和接收的,在 Web 开发中尤为常见。HTTP 响应由服务器发送到客户端,以提供所需资源、数据或执行某些操作。

一个标准的 HTTP 响应通常包括以下部分:

  • 状态码(Status Code):指示服务器对请求的处理结果,比如 200 OK(成功)、400 Bad Request(请求错误)、404 Not Found(未找到资源)等。

  • Headers(响应头部):包含关于响应的元数据信息,如 Content-Type(指定响应体的数据类型)、Content-Length(指定响应体的长度)、Cache-Control(缓存控制信息)等。

  • Body(响应体):仅在某些响应中存在,用于向客户端返回数据,比如 HTML 页面、JSON 数据等。

当服务器接收到客户端发送的请求后,会根据请求中的信息执行相应的操作,并返回一个响应给客户端。通过处理请求和响应,客户端与服务器之间完成了数据交换和通信。

总之,响应是服务器返回给客户端的消息,用于响应客户端发送的请求,也是 Web 开发和网络通信中的重要概念。

3.什么是HTTP方法

HTTP 方法(HTTP Methods),也叫 HTTP 动词,是指在 HTTP 协议中定义的一组与资源交互的方法。HTTP 协议定义了一些常见的方法,如 GET、POST、PUT、DELETE 等,用于指定客户端对资源进行的操作。

以下是常见的 HTTP 方法及其含义:

  • GET:用于获取资源,比如获取 HTML 页面、图片、CSS 文件等。

  • POST:用于向服务器提交数据,比如提交表单数据、上传文件等。

  • PUT:用于更新或替换资源,比如修改已有的网页、替换图片等。

  • DELETE:用于删除指定的资源,比如删除文档、图片等。

  • HEAD:与 GET 方法类似,用于获取资源的元数据信息,比如资源的类型、大小等,但不返回实际的资源内容。

  • OPTIONS:用于获取目标资源支持的所有 HTTP 方法和其他选项,这有助于客户端确定下一步的操作。

  • TRACE:用于将请求消息回显给客户端,主要用于调试和测试。

  • CONNECT:用于在客户端和服务器之间建立一个隧道,以便通过代理服务器访问资源。

总之,HTTP 方法是客户端与服务器之间进行通信的重要方式之一,不同的方法用于执行不同的操作,可以根据实际需求选择合适的方法来进行交互。

4.什么是Headers

**HTTP 头部(Headers)**是在 HTTP 请求和响应中传输元数据信息的重要组成部分。HTTP 头部包含了关于消息的各种属性和特征,用于描述消息的内容、处理方式、控制缓存、进行身份验证等。

HTTP 头部通常由字段名和字段值组成,中间以冒号分隔,例如:

Content-Type: application/json
Content-Length: 1234
Authorization: Bearer token123

以下是一些常见的 HTTP 头部字段及其作用:

  • Content-Type:指示请求或响应中的实体主体的媒体类型,比如 text/html、application/json 等。
  • Content-Length:指示请求或响应中的实体主体的长度,以字节为单位。
  • Authorization:用于在请求中传递身份验证凭据,比如使用 Basic 认证或 Bearer Token 认证。
  • User-Agent:包含了发起请求的用户代理的信息,通常是浏览器或其他客户端程序的标识符。
  • Cache-Control:用于控制缓存行为,指定请求或响应的缓存策略。 Cookie:包含了客户端发送给服务器的 Cookie 数据。
  • Set-Cookie:服务器通过这个头部向客户端设置新的 Cookie。

除了上述常见的 HTTP 头部之外,还有许多其他的标准和自定义头部,它们提供了丰富的元数据信息,用于控制请求和响应的处理方式,实现各种功能和需求。

总之,HTTP 头部是 HTTP 请求和响应中用于传输元数据信息的重要部分,它们承载着丰富的信息,可以控制消息的处理方式和行为。

5.什么是Body

在HTTP请求和响应中,Body(主体)是可选的消息主体,用于携带实际的数据或内容。HTTP Body通常包含了传输的实际数据,比如HTML文档、JSON数据、上传的文件等。对于GET请求,通常没有消息主体,因为它们通常用于请求资源而不是传输数据。

在HTTP请求中,如果使用POST、PUT等方法,通常会在消息主体中发送数据给服务器。例如,在提交表单时,表单中填写的数据会包含在请求的消息主体中发送给服务器。

在HTTP响应中,Body包含了服务器返回给客户端的实际数据。比如,在访问网页时,服务器返回的HTML内容就包含在响应的消息主体中。

HTTP Body的内容格式可以是文本、二进制、JSON、XML等各种形式,根据Content-Type头部中指定的MIME类型来解析。

总之,HTTP Body是HTTP请求和响应中可选的消息主体,用于携带实际的数据或内容,这些数据可以是各种格式的文本、二进制或结构化数据。

三、创建和发送请求

1.如何使用postman创建post请求

Postman 是一个流行的 API 开发工具,它可以方便地创建和测试 HTTP 请求。以下是在 Postman 中创建一个 POST 请求的步骤:

  1. 打开 Postman 工具,并选择请求类型为 POST。
  2. 在 URL 地址栏中输入要发送请求的目标 URL。
  3. 在 Body 选项卡下,选择要发送的数据格式。常见的数据格式包括 JSON、form-data 和 x-www-form-urlencoded。如果需要发送二进制数据,则可以选择 binary 或者 raw。
  4. 根据数据格式选择相应的方式来输入数据。例如,在 x-www-form-urlencoded 格式下,可以使用键值对的方式输入数据;在 JSON 格式下,可以使用 JSON 对象来输入数据。
  5. 如果需要添加头部信息或者其他配置项,可以在 Headers、Authentication、Params 等选项卡中进行配置。
  6. 点击 Send 按钮,发送请求并等待服务器响应。
  7. 在 Response 选项卡中查看服务器返回的响应内容,包括状态码、响应头部和响应主体等信息。

总之,使用 Postman 创建一个 POST 请求非常简单。只需要选择请求类型为 POST,输入目标 URL 和要发送的数据,然后点击 Send 按钮即可。Postman 还提供了丰富的配置选项,可以满足各种不同的需求。

2.在postman中,如何填写URL、Headers和Body

在 Postman 工具中填写 URL、Headers 和 Body 是非常简单直观的操作。以下是详细步骤:

填写 URL:

  1. 打开 Postman 工具。
  2. 在工具的左上角,选择请求类型(比如 GET、POST 等)。
  3. 在 URL 地址栏中输入你要发送请求的目标 URL。

填写 Headers:

  1. 在 URL 地址栏下方的 Headers 选项卡中,点击 “Headers”。
  2. 点击 “Add” 按钮,然后在 Key 和 Value 的输入框中分别输入头部字段名和字段值。例如,可以输入 “Content-Type” 作为字段名,“application/json” 作为字段值。

填写 Body:

  1. 在 URL 地址栏下方的 Body 选项卡中,选择要发送的数据格式(比如raw、form-data、x-www-form-urlencoded 等)。
  2. 根据选择的数据格式,输入相应的数据内容。例如,如果选择 raw 格式,可以输入 JSON 格式的数据;如果选择 x-www-form-urlencoded 格式,可以输入键值对形式的数据。

发送请求:

  1. 点击工具右侧的 “Send” 按钮,发送请求到目标 URL。
  2. 在 Response 选项卡中查看服务器返回的响应内容,包括状态码响应头部响应主体等信息。

通过以上步骤,你可以在 Postman 工具中轻松填写 URL、Headers 和 Body,并发送请求进行测试。Postman 提供了直观的界面和丰富的功能,帮助开发人员更方便地进行 API 接口的测试和调试。

四、如何在 Postman 中使用环境变量和全局变量

在 Postman 中使用环境变量和全局变量可以帮助简化测试过程,使得在不同环境下进行 API 测试更加方便和灵活。以下是如何在 Postman 中使用环境变量和全局变量的步骤:

1.环境变量(Environment Variables):

  1. 在 Postman 的顶部菜单栏中,选择 “Manage Environments”(管理环境)。
  2. 在弹出的窗口中,点击 “Add” 按钮创建一个新的环境,然后为该环境命名,并添加需要的变量名和值。
  3. 在请求中使用环境变量时,可以在 URL、Headers、Body 等部分使用双括号 {{}} 包裹变量名。例如,如果有一个名为 baseURL 的环境变量,可以在 URL 中使用 {{baseURL}} 来引用该变量。
  4. 在发送请求之前,选择要使用的环境,确保所使用的环境变量被正确应用。

2.全局变量(Global Variables):

  1. 在 Postman 的顶部菜单栏中,选择 “Manage Environments”(管理环境)。
  2. 在弹出的窗口中,切换到 "Globals" 选项卡,可以看到全局变量的设置页面。
  3. 在全局变量设置页面,添加需要的全局变量名和值。
  4. 在请求中使用全局变量时,同样可以在 URL、Headers、Body 等部分使用双括号 {{}} 包裹变量名。
  5. 全局变量适用于整个 Postman 环境,无需手动切换环境即可在所有请求中使用。

通过使用环境变量和全局变量,可以轻松管理和修改请求中的参数,提高测试效率,同时也便于在不同的环境中进行测试。在 Postman 中灵活使用变量能够让 API 测试工作更加高效和便捷。

相关文章:

postman学习

一、如何学习postman工具 1、下载和安装 Postman: 首先,从 Postman 官方网站(https://www.postman.com)下载并安装 Postman 应用程序。 2、了解基本概念: 在开始学习之前,了解一些基本概念,…...

【Linux】初识进程

目录 操作系统是什么 设计操作系统的目的 操作系统的定位 如何理解管理 管理的本质 管理的例子 计算机的管理概念图 操作系统管理逻辑的六字真言 系统调用和库函数的概念 进程 进程的概念 什么是PCB? PCB的主要内容 如何查看进程? 通过系统…...

有关Theano和PyTensor库

根据Github里面的介绍,PyTensor是源于Theano, Theano目前应该已经不再开发了,更新都是很多年前。 因此PyTensor在背景介绍中说 PyTensor is a fork of Aesara, which is a fork of Theano. Theano和PyTensor都是计算相关的库,可以…...

用 Open-Sora 高效创作视频,让创意触手可及

近年来,视频内容以爆炸式增长席卷了我们的生活。从短视频平台到直播带货,视频正成为人们获取信息和娱乐的主要方式。然而,传统视频制作流程往往耗时费力,对于普通用户来说门槛较高。 为了降低视频创作门槛,让更多人享…...

Git版本管理工具

前言: 本文记录学习使用 Git 版本管理工具的学习笔记,通过阅读参考链接中的博文和实际操作,快速的上手使用 Git 工具。 本文参考了引用链接博文里的内容。 引用: Git使用教程-配置管理 git reset详解-CSDN博客 3、Git使用不完全指南&am…...

微信小程序选择器picker的使用(省市区)

index.wxml picker中的 moderegion模式&#xff0c;这里同element中的select不同的是&#xff0c;不需要自己在绑定数据原&#xff0c;默认就包含了省市区的整体数据 <view class"section"><view class"section__title">省市区选择器</vie…...

std::shared_ptr与std::make_unique在类函数中的使用

在最近学习cartographer算法的时候&#xff0c;发现源码中大量的使用了std::shared_ptr与std::make_unique&#xff0c;对于这些东西之前不是很了解&#xff0c;为了更好的理解源代码&#xff0c;因此简单学习了一下这块内容的使用&#xff0c;在这里简单记个笔记。 std::shar…...

flutter 局部view更新,dialog更新进度,dialog更新

局部更新有好几种方法&#xff0c;本次使用的是 StatefulBuilder 定义 customState去更新对话框内容 import package:flutter/cupertino.dart; import package:flutter/material.dart;class ProgressDialog {final BuildContext context;BuildContext? dialogContext;double _…...

Lombok:@Delegate优化代码利器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、Delegate介绍 二、示例 三、使用场景 四、使用注意事项 总结 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、Delegate介绍 Dele…...

【C语言】对称密码——栅栏的加密和解密

栅栏密码的原理&#xff1a; 栅栏层数n ①把将要传递的信息中的字母交替排成上下n行。 ②再将下面每一行字母排依次在上面一行的后边&#xff0c;从而形成一段密码。 ③例如&#xff1a;栅栏层数为2 明文&#xff1a;THE LONGEST DAY MUST HAVE AN END 加密&#xff1a; …...

一、rv1126开发之视频输入和视频编码

RV1126 H264/HEVC编码流程 一、RV1126编码的流程图&#xff1a; 二、每个代码模块详细讲解 2.1. VI模块的创建 VI模块的初始化&#xff1a;关键在于VI_CHN_ATTR_S结构体&#xff0c;这个结构体是VI设置的结构体。这个结构体的成员变量包括&#xff1a;pcVideoNode&#xff0…...

4.1 用源文件写汇编代码

汇编语言 1. 源程序 1.1 伪指令 汇编指令是有对应的机器码的指令&#xff0c;可以被编译为机器指令&#xff0c;最终为CPU所执行伪指令没有对应的机器指令&#xff0c;最终不被CPU所执行伪指令是由编译器来执行的指令&#xff0c;编译器根据伪指令来进行相关的编译工作 1.2…...

Linux TCP参数——tcp_abort_on_overflow

文章目录 tcp_abort_on_overflow全连接队列是什么&#xff1f;如何改变队列大小&#xff1f;内核源码流程命令查看总结 tcp_abort_on_overflow 英文翻译理解&#xff1a;溢出中止 所以&#xff0c;溢出指的是什么溢出&#xff1f; Linux中会维护socket全连接队列&#xff0c;所…...

jupyter notebook设置代码提示方法

在命令行运行以下代码&#xff1a; pip install jupyter_contrib_nbextensionsjupyter contrib nbextension install --userpip install jupyter_nbextensions_configuratorjupyter nbextensions_configurator enable --user &#xff08;有时安装第一行后会自动执行第二行&a…...

Linux 一点查询资料

Linux 一点查询资料 Linux101 Linux入门教程 鸟哥的Linux私房菜 Harley Hahn’s Guide to Unix and Linux 文件管理 - cd, pwd, mkdir, rmdir, ls, cp, rm, mv, tar 文件检索 - cat, more, less, head, tail, file, find 输入输出控制 - 重定向, 管道, tee, xargs 文本处理 -…...

如何快速搭建一个完整的vue2+element-ui的项目-二

技术细节-继续配置 提示&#xff1a;你以为这样就完了吗,其实还有很多东西需要我们自己手写的 例如&#xff1a; element-ui的配置样式重置配置src使用的配置elinst配置axios异步请求的二次封转配置语言国际化配置(这个看需求,我这里就不用配置了)vuex的配置mixins的配置开发环…...

多语言LLM的状态:超越英语

多语言大语言模型的发展现状&#xff1a;超越英语 引言 据微软研究院的数据显示&#xff0c;世界上大约88%的语言&#xff0c;即12亿人的母语&#xff0c;缺乏对大型语言模型&#xff08;LLM&#xff09;的访问。这是因为大多数LLM都是以英语为中心的&#xff0c;即它们大多是…...

kafka什么情况下会认为发送失败进而去重试

在Kafka中&#xff0c;发送消息的过程是异步的&#xff0c;即消息后不会立即得到发送结果。Kafka会将消息添加到发送缓冲区&#xff0c;并立即返回一个成功的响应。因此&#xff0c;Kafka并不会直接知道消息是否成功发送到了目标主题的分区。 Kafka在以下情况下会认为发送失败…...

不满足软件包要求‘transformers==4.30.2‘, ‘sse-starlette

transformers4.30.2支持的SSE-Starlette版本是0.14.0...

C# 设置AutoScroll为true没效果的原因分析和解决办法

C#中添加tabControl 分页&#xff0c;将autoscroll设置为true发现缩小窗口没有滚动条效果。该问题出现后&#xff0c;检索发现也有很多人询问了该问题&#xff0c;但是都没有给出解决方案。 原因是内部button的属性Anchor设置为top、left、right、bottom导致的缩小界面窗口也没…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

云原生安全实战:API网关Kong的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关&#xff08;API Gateway&#xff09; API网关是微服务架构中的核心组件&#xff0c;负责统一管理所有API的流量入口。它像一座…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是&#xff0c;要注意以下几点&#xff1a; Django的表单验证与null无关&#xff1a;null参数控制的是数据库层面字段是否可以为NULL&#xff0c;而blank参数控制的是Django表单验证时字…...