美文网首页理论基础postman
『政善治』Postman — 6.使用Postman发送请求

『政善治』Postman — 6.使用Postman发送请求

作者: 繁华似锦Fighting | 来源:发表于2021-03-05 11:07 被阅读0次

    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进行提交txtJavaScriptjsonxmlhtml格式的数据。
    • 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:表示可以上传提交txtJavaScriptjsonxmlhtml格式数据的文本。

    我们以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请求一样了。

    示例:删除学院信息

    相关文章

      网友评论

        本文标题:『政善治』Postman — 6.使用Postman发送请求

        本文链接:https://www.haomeiwen.com/subject/zivwxltx.html