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 请求的步骤:
- 打开 Postman 工具,并选择请求类型为 POST。
- 在 URL 地址栏中输入要发送请求的目标 URL。
- 在 Body 选项卡下,选择要发送的数据格式。常见的数据格式包括 JSON、form-data 和 x-www-form-urlencoded。如果需要发送二进制数据,则可以选择 binary 或者 raw。
- 根据数据格式选择相应的方式来输入数据。例如,在 x-www-form-urlencoded 格式下,可以使用键值对的方式输入数据;在 JSON 格式下,可以使用 JSON 对象来输入数据。
- 如果需要添加头部信息或者其他配置项,可以在 Headers、Authentication、Params 等选项卡中进行配置。
- 点击 Send 按钮,发送请求并等待服务器响应。
- 在 Response 选项卡中查看服务器返回的响应内容,包括状态码、响应头部和响应主体等信息。
总之,使用 Postman 创建一个 POST 请求非常简单。只需要选择请求类型为 POST,输入目标 URL 和要发送的数据,然后点击 Send 按钮即可。Postman 还提供了丰富的配置选项,可以满足各种不同的需求。
2.在postman中,如何填写URL、Headers和Body
在 Postman 工具中填写 URL、Headers 和 Body 是非常简单直观的操作。以下是详细步骤:
填写 URL:
- 打开 Postman 工具。
- 在工具的左上角,选择请求类型(比如 GET、POST 等)。
- 在 URL 地址栏中输入你要发送请求的目标 URL。
填写 Headers:
- 在 URL 地址栏下方的 Headers 选项卡中,点击 “Headers”。
- 点击 “Add” 按钮,然后在 Key 和 Value 的输入框中分别输入头部字段名和字段值。例如,可以输入 “Content-Type” 作为字段名,“application/json” 作为字段值。
填写 Body:
- 在 URL 地址栏下方的 Body 选项卡中,选择要发送的数据格式(比如raw、form-data、x-www-form-urlencoded 等)。
- 根据选择的数据格式,输入相应的数据内容。例如,如果选择 raw 格式,可以输入 JSON 格式的数据;如果选择 x-www-form-urlencoded 格式,可以输入键值对形式的数据。
发送请求:
- 点击工具右侧的 “Send” 按钮,发送请求到目标 URL。
- 在 Response 选项卡中查看服务器返回的响应内容,包括状态码、响应头部和响应主体等信息。
通过以上步骤,你可以在 Postman 工具中轻松填写 URL、Headers 和 Body,并发送请求进行测试。Postman 提供了直观的界面和丰富的功能,帮助开发人员更方便地进行 API 接口的测试和调试。
四、如何在 Postman 中使用环境变量和全局变量
在 Postman 中使用环境变量和全局变量可以帮助简化测试过程,使得在不同环境下进行 API 测试更加方便和灵活。以下是如何在 Postman 中使用环境变量和全局变量的步骤:
1.环境变量(Environment Variables):
- 在 Postman 的顶部菜单栏中,选择 “Manage Environments”(管理环境)。
- 在弹出的窗口中,点击 “Add” 按钮创建一个新的环境,然后为该环境命名,并添加需要的变量名和值。
- 在请求中使用环境变量时,可以在 URL、Headers、Body 等部分使用双括号 {{}} 包裹变量名。例如,如果有一个名为 baseURL 的环境变量,可以在 URL 中使用 {{baseURL}} 来引用该变量。
- 在发送请求之前,选择要使用的环境,确保所使用的环境变量被正确应用。
2.全局变量(Global Variables):
- 在 Postman 的顶部菜单栏中,选择 “Manage Environments”(管理环境)。
- 在弹出的窗口中,切换到 "Globals" 选项卡,可以看到全局变量的设置页面。
- 在全局变量设置页面,添加需要的全局变量名和值。
- 在请求中使用全局变量时,同样可以在 URL、Headers、Body 等部分使用双括号 {{}} 包裹变量名。
- 全局变量适用于整个 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模式,这里同element中的select不同的是,不需要自己在绑定数据原,默认就包含了省市区的整体数据 <view class"section"><view class"section__title">省市区选择器</vie…...

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

flutter 局部view更新,dialog更新进度,dialog更新
局部更新有好几种方法,本次使用的是 StatefulBuilder 定义 customState去更新对话框内容 import package:flutter/cupertino.dart; import package:flutter/material.dart;class ProgressDialog {final BuildContext context;BuildContext? dialogContext;double _…...
Lombok:@Delegate优化代码利器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、Delegate介绍 二、示例 三、使用场景 四、使用注意事项 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、Delegate介绍 Dele…...
【C语言】对称密码——栅栏的加密和解密
栅栏密码的原理: 栅栏层数n ①把将要传递的信息中的字母交替排成上下n行。 ②再将下面每一行字母排依次在上面一行的后边,从而形成一段密码。 ③例如:栅栏层数为2 明文:THE LONGEST DAY MUST HAVE AN END 加密: …...

一、rv1126开发之视频输入和视频编码
RV1126 H264/HEVC编码流程 一、RV1126编码的流程图: 二、每个代码模块详细讲解 2.1. VI模块的创建 VI模块的初始化:关键在于VI_CHN_ATTR_S结构体,这个结构体是VI设置的结构体。这个结构体的成员变量包括:pcVideoNode࿰…...

4.1 用源文件写汇编代码
汇编语言 1. 源程序 1.1 伪指令 汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终为CPU所执行伪指令没有对应的机器指令,最终不被CPU所执行伪指令是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作 1.2…...
Linux TCP参数——tcp_abort_on_overflow
文章目录 tcp_abort_on_overflow全连接队列是什么?如何改变队列大小?内核源码流程命令查看总结 tcp_abort_on_overflow 英文翻译理解:溢出中止 所以,溢出指的是什么溢出? Linux中会维护socket全连接队列,所…...

jupyter notebook设置代码提示方法
在命令行运行以下代码: pip install jupyter_contrib_nbextensionsjupyter contrib nbextension install --userpip install jupyter_nbextensions_configuratorjupyter nbextensions_configurator enable --user (有时安装第一行后会自动执行第二行&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的项目-二
技术细节-继续配置 提示:你以为这样就完了吗,其实还有很多东西需要我们自己手写的 例如: element-ui的配置样式重置配置src使用的配置elinst配置axios异步请求的二次封转配置语言国际化配置(这个看需求,我这里就不用配置了)vuex的配置mixins的配置开发环…...
多语言LLM的状态:超越英语
多语言大语言模型的发展现状:超越英语 引言 据微软研究院的数据显示,世界上大约88%的语言,即12亿人的母语,缺乏对大型语言模型(LLM)的访问。这是因为大多数LLM都是以英语为中心的,即它们大多是…...
kafka什么情况下会认为发送失败进而去重试
在Kafka中,发送消息的过程是异步的,即消息后不会立即得到发送结果。Kafka会将消息添加到发送缓冲区,并立即返回一个成功的响应。因此,Kafka并不会直接知道消息是否成功发送到了目标主题的分区。 Kafka在以下情况下会认为发送失败…...
不满足软件包要求‘transformers==4.30.2‘, ‘sse-starlette
transformers4.30.2支持的SSE-Starlette版本是0.14.0...

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

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器: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(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...