『政善治』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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM