『政善治』Postman — 6.使用Postman发送请求
1、发送Get请求
(1)无参数的get请求
无参数的Get请求直接输入请求地址就可以了,然后点击send
进行发送请求。
示例1
接口:学院-查询所有学院
请求方法:GET
请求地址:http://127.0.0.1:8000/api/departments/
示例2
接口:学院-查询指定学院(注:T02为学院ID;)
请求方法:GET
请求地址:http://127.0.0.1:8000/api/departments/T02/
(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
说明
- 在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学院
说明:
接口测试中三要素在接口文档中提取。
接口的返回数据在系统数据库中得到。
2、发送Post请求
使用Postman发送Post请求时,需要设置请求地址、请求方式、请求头、请求数据等信息,些信息是每一个请求都要包含的内容。
但是在Post请求中,更重要的是参数。不同的请求参数内容和形式是不一样的,在Postman中的存在形式也是不一样的。
在Postman中Post请求的数据类型包括:
-
none
:Post请求没有请求参数。(一般很少见这样的Post请求) -
form-data
:以form表单形式提交数据。 -
x-www-form-urlencoded
:将表单内的数据转换为Key-Value形式。 -
raw
:raw进行提交txt
,JavaScript
,json
,xml
,html
格式的数据。 -
binary
:只可上传二进制数据。
(1)form-data参数格式
全称:multipart/form-data
,以Form表单形式提交数据。
提示:按照规则请求
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抓取一下该请求,进行请求报文的查看,如下:
我们可以看到,表单中的每对key和value是使用boundary
进行分隔开的。这就是multipart/form-data
上传数据的具体形式。
提示:Postman中, 我们选择好数据格式,填写好数据之后,在Header中的
Content-Type
属性,会自动进行识别。必须要指定时,我们可进行手动配置。
2)既可上传键值对数据,也可以上传文件。
选择上传文件:
发送请求:
Description
用来说明字段的一些说明信息。
由于有boundary
隔离,所以multipart/form-data
既可以上传文件,也可以上传键值对。由于它采用了键值对的方式,所以可以上传多个文件。
(2)x-www-form-urlencoded参数格式
全称:application/x-www-from-urlencoded
,将会把表单内的数据转换为键值对(Key-Value)进行提交。
看上图中,提交数据的内容都在form
属性中,且表现形式和form-data
参数格式一样。
我们还是需要通过Fiddler抓取该请求,查看具体的请求报文的内容。
我们可以看到上图中:表单的数据被拼接成一条以key=value
形式的字符串。并没有出现boundary
分隔。
这种方式也是工作中比较常用的数据提交方式。
(3)raw参数格式
raw
:表示可以上传提交txt
,JavaScript
,json
,xml
,html
格式数据的文本。
我们以json格式的数据进行提交为例,因为非常常用。
我们在用Fiddler抓取请求,以纯文本的方式查看请求报文的全部信息。
说明:
- 如果选择
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
,从字面意思得知,只可以上传二进制数据。
通常用来上传文件,由于没有键值,所以一次只能上传一个文件。
(5)总结:
-
form-data
:既可以上传文件等二进制数据,也可以上传表单键值对。(一般分段上传文件就用该种方式)
-
x-www-form-urlencoded
:只能上传键值对,不能用于文件上传。(一般键值对的方式提交表单都是用该种方式)
-
binary
:只能以二进制的方式上传一个文件(用的不多)。 -
raw
:以纯文本的方式上传数据,多以json格式为常用。
不同的接口参数不同,请求方式也可能不同,以接口文档为依据,灵活运用。
3、发送Put请求
PUT请求用于对数据的更新,原理其实同Post请求一样,都是进行数据的提交,然后按照条件,对目标数据进行修改。
我们就以Json格式的数据进行提交为例。
示例:更新学院信息
Fiddler抓取请求报文内容如下:
然后我们就去数据库中进行查询比对即可。
4、发送Delete请求
Delete请求用于对数据的删除,原理其实同Post请求一样,都是进行数据的提交,然后对目标数据进行删除。
因为我们的项目是restful风格接口的项目,通过url就能定位到具体资源。
如果不是restful风格接口的项目,我们也是要提交数据的,比如删除学院,需要上传学院ID,这样其实和Psot请求一样了。
示例:删除学院信息