Postman基础功能-常见类型的接口请求

news2024/10/6 5:53:13

        天空灰暗到一定程度,星辰就会熠熠生辉。大家好,之前给大家分享了关于 Postman 工具的介绍以及安装,在当今数字化的时代,接口请求在软件开发和系统集成中扮演着至关重要的角色。而 Postman 作为一款强大且广受认可的接口测试工具,为我们提供了便捷高效的方式来处理各种类型的接口请求。在接下来的文章中,我们将探讨一下 Postman 常见类型的接口请求,详细解析它们的操作方式,并通过实际的演示来让大家清晰直观地理解和掌握。

关于Postman工具的介绍与安装,本文中不做详细描述,大家可以参考:

Postman工具介绍与安装

一、携带查询参数的接口请求

携带查询参数的请求类型:

1、GET请求

        这是最常见的请求方式之一,用于从服务器获取指定的资源,特点是安全且可缓存,不会对服务器数据产生修改。

2、HEAD请求

        类似于 GET 请求,但只返回响应的头部信息,不包含主体内容,通常用于快速检查资源的一些基本属性,如验证资源是否存在、获取资源的最后修改时间等,而无需获取整个资源的数据。

3、OPTIONS请求

        主要用于获取服务器针对特定资源所支持的 HTTP 请求方法等信息,可以帮助客户端了解服务器的能力和限制,以便正确地进行后续交互。

在Postman中实现这类接口的请求,只需要明确请求方式、接口地址和请求参数即可。

4、示例

(1)打开Postman工具,新建一个接口请求。

(2)在请求类型中选择请求类型为GET,Postman在新建接口请求后,默认就是GET类型,所以这一步骤可以忽略。

(3)在URL地址中输入请求地址和请求参数,请求地址和请求参数直接需要用?隔开,多个请求参数之间需要用&隔开,然后点击“Send”按钮发送请求。

(4)给接口起一个名字

二、表单类型的接口请求

        在请求头中设置Content-Type为 application/x-www-form-urlencoded ,那就说明本次接口请求提交的数据类型为表单形式。其中 application/x-www-form-urlencoded 这是最常见的表单数据提交格式,它将表单字段和值进行编码后传递。

表单形式的请求类型:

1、POST类型(表单形式)

        主要用途是向服务器提交新的数据以创建新的资源或执行特定操作。当以表单形式进行 POST 请求时,表单中的各个字段及其对应的值会被包含在请求主体中发送给服务器。常用于用户注册、提交表单内容、上传文件等场景。例如,在提交一个登录表单时,用户名和密码等信息通过 POST 请求发送到服务器进行验证和处理。

2、PUT类型(表单形式)

        通常用于更新已存在的资源。与 POST 不同的是,PUT 更强调对整个资源的替换式更新。在表单形式下,意味着要将新的完整表单数据发送过去以替换原有的资源数据。表示对特定资源的明确更新操作,例如更新一个用户的详细信息,将新的所有用户数据以表单形式通过 PUT 请求发送到服务器以覆盖旧数据。

3、示例

(1)打开Postman工具,新建一个接口请求,在请求类型中选择请求类型为POST。

(2)填写完整的请求地址。

(3)点击 Body 选择 x-www-form-urlencoded ,并且填入请求参数,Postman会在发送请求时,在请求头中自动填充 Content-Type为application/x-www-form-urlencoded。

(4)此时点击“Send”按钮即可发送表单形式的接口请求。

三、上传文件的表单请求

        在做接口测试时,经常会遇到需要上传文件的接口,对于上传文件,通常会使用 Content-Type 为 multipart/form-data 这种表单格式来进行 POST 请求。在这种情况下,请求会包含文件数据以及其他可能的表单字段信息。客户端会将文件进行编码并与其他表单数据一起封装在请求体中发送给服务器。服务器端接收到请求后,会对 multipart/form-data 进行解析,提取出文件和相关表单数据,并进行相应的处理,比如将文件存储到指定位置等。

上传文件的请求类型:

1、POST类型(上传文件)

        请求格式通常采用 multipart/form-data 格式来组织请求。在这种格式下,请求体被分成多个部分,每个部分可以包含不同类型的数据,如文件数据和普通表单字段数据。客户端将需要上传的文件进行编码和封装,作为请求的一部分发送。它会包含文件的内容以及相关的文件信息,如文件名等。除了文件部分,还可以同时包含其他表单字段,例如一些描述性信息或与文件相关的参数等。服务器接收到这种 POST 请求后,需要对 multipart/form-data 进行解析,提取出文件和相关表单字段。然后根据业务需求对文件进行存储、处理,对表单字段进行相应的操作。

        这种方式非常灵活,可以方便地同时上传文件和提交其他相关信息,广泛应用于各种文件上传场景,如图片上传、文档上传等。在实际开发中,需要确保服务器端和客户端都能正确处理这种请求格式和文件数据的传输与处理。

2、示例

(1)打开Postman工具,新建一个接口请求,在请求类型中选择请求类型为POST。

(2)填写完整的URL地址

(3)点击 Body 选择 form-data ,并且填入请求参数,类型选择为File,然后再参数值出选择一个本地文件,Postman会在发送请求时,在请求头中自动填充 Content-Type为multipart/form-data。

(4)点击“Send”按钮即可发送接口请求,查看响应数据即可。

四、JSON类型的接口请求

        JSON类型的接口请求应该是接口测试中最常见的集中接口请求类型了,也就是请求体的类型为JSON,JSON类型的接口请求具有以下特点:

数据格式:JSON 以一种简洁、易读的文本格式来表示结构化的数据,它使用键值对的方式来组织信息。

广泛应用:在现代 Web 开发和 API 交互中被大量使用,因为它轻便且易于解析和生成。

灵活性:可以表示各种复杂的数据结构,如对象、数组、字符串、数值、布尔值等的组合。

        在进行 JSON 类型的接口请求时,通常会将数据按照 JSON 规范进行组织和编码,然后通过 HTTP 请求(如 POST、PUT 等)发送到服务器。服务器接收到请求后,会对 JSON 数据进行解析和处理。

一个典型的 JSON 请求体可能看起来像这样:

{
  "key1": "value1",
  "key2": [1, 2, 3],
  "key3": {
    "subKey1": "subValue1"
  }
}

这种类型的接口请求提供了一种高效、标准化的方式来传递和处理复杂的数据。

JSON形式的请求类型:

1、POST类型(JSON形式)

        通常用于创建新的资源,以 JSON 形式发送的数据包含要创建的资源的详细信息,例如,提交一个新用户的信息,以 JSON 格式包含用户名、密码等属性,服务器根据这些信息创建一个新用户记录。

2、PUT类型(JSON形式)

        主要用于整体更新一个已存在的资源,使用 JSON 来表示完整的更新后的资源状态,假如要更新一个文档,JSON 数据会包含文档的所有最新属性值。

3、PATCH类型(JSON形式)

        针对资源进行部分更新,通过 JSON 数据指定要更改的具体属性和值,与 PUT 不同的是,它不是完全替换整个资源,而是只修改指定的部分,更具灵活性。

4、示例

 (1)打开Postman工具,新建一个接口请求,在请求类型中选择请求类型为POST。

(2)在接口地址栏中填写完整的接口地址

(3)点击Body然后选择raw,选择格式为JSON,在下面的输入框中输入请求参数与参数值,点击“Send”按钮,即可发送请求,查看响应数据。

五、接口响应解析

        接口的响应是指服务器在接收到客户端发送的请求(如 POST、PUT、GET 等)后,经过处理和运算,返回给客户端的信息。

接口响应包含以下几个重要方面:

1、状态码

        表示请求处理的结果状态,如 200 表示成功,404 表示资源未找到,500 表示服务器内部错误等。不同的状态码向客户端传达了请求执行的不同情况。

关于常见的状态码,之前给大家做过整理,可以参考:关于服务端接口知识的汇总

2、响应头

        响应头是服务器返回给客户端的一组元数据信息,具有非常重要的作用,下面列表一些响应头中经常需要关注的字段。

Content-Type:表明响应体中数据的类型,如“application/json”表示是 JSON 数据,“text/html”表示是 HTML 内容等。

Content-Length:指示响应体的长度。

Cache-Control:用于控制缓存策略,如指示是否允许缓存、缓存的有效期等。

Expires:指定资源的过期时间。

Location:在重定向时,指示新的资源位置。

Server:标识服务器的信息。

Set-Cookie:可以用来设置客户端的 Cookie。

Last-Modified:表示资源的最后修改时间。

3、响应体

        这是实际返回给客户端的数据内容。在 JSON 接口中,通常是以 JSON 格式呈现的具体数据,如查询结果、操作的反馈信息等。

Postman对于响应部分的展示

其中:

1、Body和Status是我们做接口测试时需要重点关注的重点,一般来讲,做接口测试时都会对想要状态码和响应体中的数据进行断言。

2、Time和Size(Size的大小是包含响应头和响应体的)是我们在做性能测试时,可以根据这两个参数对所测接口的性能做一个初步箱单的判断。

Body中有几个不同的显示主题,分别是:Pretty、Raw、Preview

Pretty:

        “Pretty”翻译为中文是“漂亮的”,也就是说返回的 Body 数据可在这个标签中查看,它们都是经过格式化处理的,经过格式化后的数据会显得更加直观,所以 Postman 默认展示的也是这个选项。例如:若返回 HTML 页面,它会在被格式化成 HTML 格式后进行展示,再如:若返回 JSON,同样也会在格式化成 JSON 格式后再展示。

Raw:

        “Raw”翻译为中文是“未经过加工的”,即原始数据,原始数据通常是文本格式且未经过格式化处理,一般在抓包工具中都会有这个选项。

Preview:

        “Preview”翻译为中文是“预览”,这个选项对于返回 HTML 的页面效果通常特别显著,比如对百度进行请求后返回结果,点击这个选项后就能直接查看到相应的页面,如下图所示。同时,这个选项和浏览器抓包中的“Preview”也是相同的。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信息系统项目管理师0105:项目评估与决策(7项目立项管理—7.3项目评估与决策)

点击查看专栏目录 文章目录 7.3项目评估与决策1.评估依据2.评估的程序3.项目评估的内容4.项目评估报告内容大纲记忆要点总结7.3项目评估与决策 项目评估指在项目可行性研究的基础上,由第三方(国家、银行或有关机构)根据国家颁布的政策、法规、方法、参数和条例等,从国民经济…

Java | Leetcode Java题解之第77题组合

题目&#xff1a; 题解&#xff1a; class Solution {List<Integer> temp new ArrayList<Integer>();List<List<Integer>> ans new ArrayList<List<Integer>>();public List<List<Integer>> combine(int n, int k) {List&l…

[Spring Cloud] (7)gateway防重放拦截器

文章目录 简述本文涉及代码已开源Fir Cloud 完整项目防重放防重放必要性&#xff1a;防重放机制作用&#xff1a; 整体效果后端进行处理 后端增加防重放开关配置签名密钥 工具类防重放拦截器 前端被防重放拦截增加防重放开关配置请求头增加防重放签名处理防重放验证处理函数bas…

信息系统项目管理师0104:详细可行性研究(7项目立项管理—7.2项目可行性研究—7.2.3详细可行性研究)

点击查看专栏目录 文章目录 7.2.3详细可行性研究1.详细可行性研究的依据2.详细可行性研究的原则3.详细可行性研究的方法4.详细可行性研究的内容5.详细可行性研究报告记忆要点总结7.2.3详细可行性研究 详细可行性研究是在项目决策前对与项目有关的技术、经济、

14.CAS原理

文章目录 CAS原理1.什么是CAS2.Unsafe类中的CAS方法2.1.获取UnSafe实例2.2.调用UnSafe提供的CAS方法2.3.调用Unsafe提供的偏移量相关2.4.CAS无锁编程2.4.1.使用cas进行无锁安全自增案例 CAS原理 由于JVM的synchronized重量级锁设计操作系统内核态下的互斥锁的使用&#xff0c;其…

Web安全:SQL注入之布尔盲注原理+步骤+实战操作

「作者简介」&#xff1a;2022年北京冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础对安全知识体系进行总结与归纳&#xff0c;著作适用于快速入门的 《网络安全自学教程》&#xff0c;内容涵盖系统安全、信息收集等…

5款可用于LLMs的爬虫工具/方案

5款可用于LLMs的爬虫工具/方案 Crawl4AI 功能: 提取语义标记的数据块为JSON格式&#xff0c;提供干净的HTML和Markdown文件。 用途: 适用于RAG&#xff08;检索增强生成&#xff09;、微调以及AI聊天机器人的开发。 特点: 高效数据提取&#xff0c;支持LLM格式&#xff0c;多U…

天龙怀旧游戏python脚本

设置图&#xff1a; 游戏窗口最大化。 海贼洞这里定位你要回点的定位。 运行bat就行&#xff0c;脚本出错了还是会重新运行脚本&#xff0c;运行自动启动&#xff0c;end暂停脚本&#xff0c;home重新启动脚本 1. 我常用的是内挂回点脚本&#xff0c; 下面都是前台脚本&…

【适用全主题】WordPress原创插件:弹窗通知插件 支持内容自定义

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 适用于所有WordPress主题的弹窗插件 一款WordPress原创插件&#xff1a;弹窗通知插件 支持内容自定义 二、效果展示 1.部分代码 代码如下&#xff08;示例&#xff09;&#xff1…

Oracle如何收缩减小表空间大小

比如我们发现一个表空间占用比较大&#xff0c;但是空闲空间很大&#xff0c;想要减小表空间占用大小。查看表空间的情况 发现BETEST表空间占用大&#xff0c;但是剩余大小比较大&#xff0c;可以减小存储占用。 如果我们想减小到100MB&#xff0c;那么就登录其用户执行&#…

Python | Leetcode Python题解之第86题分隔链表

题目&#xff1a; 题解&#xff1a; class Solution:def partition(self, head: Optional[ListNode], x: int) -> Optional[ListNode]:sml_dummy, big_dummy ListNode(0), ListNode(0)sml, big sml_dummy, big_dummywhile head:if head.val < x:sml.next headsml sm…

IDEA及Maven配置代理及Maven中央仓库配置详解

一、配置代理 首先&#xff0c;需要本地开启代理入口&#xff0c;如图。 这个跟你使用代理软件有关。像我使用的是qv2ray。 其次&#xff0c;idea配置代理&#xff0c;如图。 1.1 idea配置代理 打开Settings&#xff0c;如图 1.2 maven配置代理 maven配置代理&#xff0c;修…

【JavaEE】Spring Boot 入门:快速构建你的第一个 Spring Boot 应用

目录 第一个SpringBoot程序介绍项目创建创建项目目录介绍输出Hello World 第一个SpringBoot程序 介绍 在学习SpringBoot之前, 我们先来认识⼀下Spring 我们看下Spring官⽅(https://spring.io/)的介绍 可以看到, Spring让Java程序更加快速, 简单和安全. Spring对于速度、简单…

Android 系统全局Bug日志监听

一、Android DropBox Android用来持续化存储系统数据的一个管理类&#xff0c;主要用于记录Android运行过程中&#xff0c;内核、系统j进程、用户进程等出现严重问题时的Log&#xff0c;可以认为它就是一个可持续存储系统级别的Logcat. 日志储存位置&#xff1a;/data/system…

Golang | Leetcode Golang题解之第86题分隔链表

题目&#xff1a; 题解&#xff1a; func partition(head *ListNode, x int) *ListNode {small : &ListNode{}smallHead : smalllarge : &ListNode{}largeHead : largefor head ! nil {if head.Val < x {small.Next headsmall small.Next} else {large.Next hea…

云计算第十二课

安装虚拟机 第一步新建虚拟机 选择自定义安装 下一步 选择稍后安装操作系统 选择系统类型和版本 选择虚拟机文件路径&#xff08;建议每台虚拟机单独存放并且路径不要有中文&#xff09;点击下一步 选择bios下一步 选择虚拟机处理器内核数量 默认硬盘或者自行调大硬盘 选择虚…

Dato for Mac v5.2.11激活版:掌握时间,掌控生活

在忙碌的生活中&#xff0c;您是否常常觉得时间不够用&#xff1f;Dato for Mac&#xff0c;您的时间管理专家&#xff0c;助您轻松掌控每一天。清晰的日历视图、个性化的提醒功能&#xff0c;让您的日程安排井井有条。无论是工作还是生活&#xff0c;Dato for Mac都能成为您的…

ONES 功能上新 | 近期产品新功能一览

支持在 ONES Project 中通过弹窗查看、编辑 ONES Wiki 页面。 应用场景&#xff1a; 当需要在 ONES Project 中查看 ONES Wiki 的页面内容时&#xff0c;可以直接点击工作项关联的 ONES Wiki 页面或项目文档组件中的页面&#xff0c;即可在 ONES Project 中通过弹窗查看 ONES W…

OCR技术在历史文献数字化中的革命性作用

随着数字化技术的不断发展&#xff0c;历史文献的数字化已成为保存和传播文化遗产的重要途径。其中&#xff0c;光学字符识别&#xff08;OCR&#xff09;技术在历史文献数字化中发挥了革命性的作用&#xff0c;为研究者提供了更广阔的研究空间&#xff0c;推动了历史学研究的发…

【C语言|数据结构】双向链表

文章目录 前言1、初步认识双向链表1.1 定义&#xff1a;1.2 结构1.3 节点的存储 2、双向链表的接口函数2.1 链表的节点的动态申请2.2 链表的初始化2.3 尾插2.4 头插2.5 头删2.5 尾删2.6 在pos节点后面添加数据2.6 删除pos节点 3、双向链表的实现&#xff1a; 前言 各位小伙伴大…