『政善治』Postman工具 — 5、使用Postman发送请求详解

1、发送Get请求

(1)无参数的get请求

无参数的Get请求直接输入请求地址就可以了,然后点击send进行发送请求。

示例1

接口:学院-查询所有学院
请求方法:GET
请求地址:http://127.0.0.1:8000/api/departments/

image

示例2

接口:学院-查询指定学院(注:T02为学院ID;)
请求方法:GET
请求地址:http://127.0.0.1:8000/api/departments/T02/

image

(2)有参数的Get请求

有参数的Get请求,参数可以直接写在请求地址后面编辑,如下:

请求地址?参数1=值1&参数2=值2

也可以在Params选项中进行参数的编辑。

示例1

接口:根据指定参数查找学院
注:
	$dep_id_list:为参数名称;
	T01,T02,T03为:学院ID;
请求方法:GET
请求地址:http://127.0.0.1:8000/api/departments/?$dep_id_list=T01,T02,T03       

image

说明

  • 在Postman中,Get请求方式的参数,如果直接写在URL上,会自动解析到Params界面中。
  • 通过在Params界面中填写的参数,会自动被识别到接口URL上。
  • Params界面中填写的参数,前面有个对勾,勾选就应用该参数,取消勾选就不使用该参数发送请求。

示例2

接口:多参数查询学院
注:
	dep_name:学院名称;
	master_name:为院长名称;
	slogan:学院口号;
	(三个条件可随意组合或单独使用)     
请求方法:GET
请求地址:http://127.0.0.1:8000/api/departments/?slogan=python&master_name=Python-Master&dep_name=Python学院

image

说明:

接口测试中三要素在接口文档中提取。

接口的返回数据在系统数据库中得到。

2、发送Post请求

使用Postman发送Post请求时,需要设置请求地址、请求方式、请求头、请求数据等信息,些信息是每一个请求都要包含的内容。

但是在Post请求中,更重要的是参数。不同的请求参数内容和形式是不一样的,在Postman中的存在形式也是不一样的。

在Postman中Post请求的数据类型包括:

  • none:Post请求没有请求参数。(一般很少见这样的Post请求)
  • form-data:以form表单形式提交数据。
  • x-www-form-urlencoded:将表单内的数据转换为Key-Value形式。
  • raw:raw进行提交txtJavaScriptjsonxmlhtml格式的数据。
  • binary:只可上传二进制数据。

(1)form-data参数格式

全称:multipart/form-data,以Form表单形式提交数据。
image

提示:按照规则请求http://httpbin.org/,会返回发送请求报文的完整内容。

具体可查看https://blog.csdn.net/Liuyuelinjiayou/article/details/112782847文章,有详细说明。

说明

1)multipart/form-data它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。

我们可以看到请求报文中form属性中有数据,说明是以Form表单的形式进行数据的提交。

  "form": {
    "C:\\Users\\L\\Desktop\\1.txt": "",
    "age": "18",
    "passwd": "123456",
    "username": "tom"
  },

我们还可以看到请求报文的headers信息中Content-Type属性,标识这该请求的数据格式为multipart/form-data,如下:

 "Content-Type": "multipart/form-data; boundary=--------------------------690796185828895975116745"

我们这样不好看,可以用Fiddler抓取一下该请求,进行请求报文的查看,如下:
image

我们可以看到,表单中的每对key和value是使用boundary进行分隔开的。这就是multipart/form-data上传数据的具体形式。

提示:Postman中, 我们选择好数据格式,填写好数据之后,在Header中的Content-Type属性,会自动进行识别。必须要指定时,我们可进行手动配置。

2)既可上传键值对数据,也可以上传文件。

选择上传文件:
image

发送请求:
image

Description用来说明字段的一些说明信息。

由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对。由于它采用了键值对的方式,所以可以上传多个文件。

(2)x-www-form-urlencoded参数格式

全称:application/x-www-from-urlencoded,将会把表单内的数据转换为键值对(Key-Value)进行提交。

image

看上图中,提交数据的内容都在form属性中,且表现形式和form-data参数格式一样。

我们还是需要通过Fiddler抓取该请求,查看具体的请求报文的内容。
image

我们可以看到上图中:表单的数据被拼接成一条以key=value形式的字符串。并没有出现boundary分隔。

这种方式也是工作中比较常用的数据提交方式。

(3)raw参数格式

raw:表示可以上传提交txtJavaScriptjsonxmlhtml格式数据的文本。

我们以json格式的数据进行提交为例,因为非常常用。
image

我们在用Fiddler抓取请求,以纯文本的方式查看请求报文的全部信息。
image

说明:

  • 如果选择Text上传数据:"Content-Type": "text/plain"
  • 如果选择JavaScript上传数据:"Content-Type": "application/javascript"
  • 如果选择HTML上传数据:"Content-Type": "text/html"
  • 如果选择XML上传数据:"Content-Type": "application/xml"

(4)binary参数格式

相当于content-type:application/octet-stream,从字面意思得知,只可以上传二进制数据。

通常用来上传文件,由于没有键值,所以一次只能上传一个文件。
image

(5)总结:

  • form-data:既可以上传文件等二进制数据,也可以上传表单键值对。
    (一般分段上传文件就用该种方式)
  • x-www-form-urlencoded:只能上传键值对,不能用于文件上传。
    (一般键值对的方式提交表单都是用该种方式)
  • binary:只能以二进制的方式上传一个文件(用的不多)。
  • raw:以纯文本的方式上传数据,多以json格式为常用。

不同的接口参数不同,请求方式也可能不同,以接口文档为依据,灵活运用。

3、发送Put请求

PUT请求用于对数据的更新,原理其实同Post请求一样,都是进行数据的提交,然后按照条件,对目标数据进行修改。

我们就以Json格式的数据进行提交为例。

示例:更新学院信息
image

Fiddler抓取请求报文内容如下:
image

然后我们就去数据库中进行查询比对即可。

4、发送Delete请求

Delete请求用于对数据的删除,原理其实同Post请求一样,都是进行数据的提交,然后对目标数据进行删除。

因为我们的项目是restful风格接口的项目,通过url就能定位到具体资源。

如果不是restful风格接口的项目,我们也是要提交数据的,比如删除学院,需要上传学院ID,这样其实和Psot请求一样了。

示例:删除学院信息
image

posted @ 2021-05-07 14:14  繁华似锦Fighting  阅读(881)  评论(0编辑  收藏  举报