除了 REST 之外,Postman 還可以使用 GraphQL 進(jìn)行 HTTP 調(diào)用,GraphQL 是一種用于 API 的開源數(shù)據(jù)查詢和操作語言。
您可以通過多種方式使用 Postman 編寫和發(fā)送 GraphQL 查詢:
使用 Postman 對(duì) GraphQL 的內(nèi)置支持
Postman 內(nèi)置了對(duì)在請(qǐng)求正文中發(fā)送 GraphQL 查詢、使用 GraphQL 變量以及自省和導(dǎo)入 GraphQL 模式的支持。
在請(qǐng)求正文中發(fā)送 GraphQL 查詢
- 在 Postman 中打開一個(gè)新的請(qǐng)求選項(xiàng)卡,然后在地址字段中輸入您的 GraphQL 端點(diǎn) URL。
- POST從請(qǐng)求方法下拉列表中選擇。
- 在Body選項(xiàng)卡下,選擇GraphQL主體類型。
- 在查詢編輯器中輸入您的 GraphQL 查詢。該編輯器使您能夠分別編寫和編輯查詢和變量。

使用 GraphQL 變量
- 在GraphQL 變量編輯器中輸入您的 GraphQL 變量。
- 在查詢編輯器中,在 GraphQL 查詢中聲明 GraphQL 變量。有關(guān)如何使用 GraphQL 變量的更多信息,請(qǐng)參閱GraphQL 變量文檔。

您還可以使用語法將 Postman 變量用作 GraphQL 變量的數(shù)據(jù)輸入{{variable}}。
自省和導(dǎo)入 GraphQL 模式
要啟用自動(dòng)完成,您的請(qǐng)求需要一個(gè) GraphQL 架構(gòu)。Postman 將使用 GraphQL 自省自動(dòng)獲取基于請(qǐng)求 URL 的模式。當(dāng) Postman 能夠自動(dòng)獲取模式時(shí),模式選擇列表旁邊會(huì)顯示一條消息。如果您的架構(gòu)已更改,請(qǐng)選擇刷新圖標(biāo)
以引入更改。

您也可以手動(dòng)導(dǎo)入模式。當(dāng)您創(chuàng)建 GraphQL 模式或?qū)⑵鋵?dǎo)入Postman 時(shí),您可以選擇它而不是自動(dòng)獲取的模式。
要手動(dòng)導(dǎo)入 GraphQL 架構(gòu),請(qǐng)執(zhí)行以下操作:
- 在邊欄中選擇API ,然后選擇+以創(chuàng)建新 API。
- 輸入 API 的名稱和版本。
- 從架構(gòu)類型下拉列表中選擇GraphQL。
- 從架構(gòu)格式下拉列表中選擇JSON或GraphQL SDL。您可以選擇選擇“導(dǎo)入”選項(xiàng)卡,直接從本地文件或 GitHub 或 Bitbucket 存儲(chǔ)庫導(dǎo)入 API 規(guī)范。如果您不導(dǎo)入架構(gòu),Postman 將使用您可以隨時(shí)編輯的示例規(guī)范填充您的 API。
- 選擇創(chuàng)建 API。

- 打開新 API 的版本頁面并選擇Definition選項(xiàng)卡。在編輯器中輸入您的 GraphQL 架構(gòu)并保存。

- 返回到您的GraphQL正文。從下拉列表中選擇您的架構(gòu)。您可能需要通過選擇刷新圖標(biāo) 進(jìn)行刷新
。 - 開始編輯您的查詢。Postman 將從您的新 GraphQL 模式中的數(shù)據(jù)建議自動(dòng)完成選項(xiàng)。

在請(qǐng)求正文中使用 JSON
- 在 Postman 中打開一個(gè)新的請(qǐng)求選項(xiàng)卡,然后在地址字段中輸入您的 GraphQL 端點(diǎn) URL。
- POST從請(qǐng)求方法下拉列表中選擇。
- 在Headers選項(xiàng)卡中,添加Content-typeof application/json。
- 在“身體”選項(xiàng)卡下,選擇原始身體類型。從格式下拉列表中選擇JSON 。
- 使用正確的 JSON 格式在請(qǐng)求正文中構(gòu)建查詢。

使用 GraphQL 內(nèi)容類型標(biāo)頭
- 在 Postman 中打開一個(gè)新的請(qǐng)求選項(xiàng)卡,然后在地址字段中輸入您的 GraphQL 端點(diǎn) URL。
- POST從請(qǐng)求方法下拉列表中選擇。
- 在Headers選項(xiàng)卡中,添加Content-typeof application/graphql。

- 在“身體”選項(xiàng)卡下,選擇原始身體類型。從格式下拉列表中選擇文本。
- 使用標(biāo)準(zhǔn) GraphQL 格式在請(qǐng)求正文中構(gòu)建查詢。

將查詢導(dǎo)入為 cURL 請(qǐng)求
- 選擇左上角的導(dǎo)入。
- 選擇原始文本。
- 將您的 cURL 命令粘貼到文本字段中,然后繼續(xù)。您的 cURL 命令必須包含 GraphQL 端點(diǎn) URL,并且必須指定POST請(qǐng)求方法。

- 選擇導(dǎo)入。
- 該請(qǐng)求將在新選項(xiàng)卡中打開,其中包含您指定的 GraphQL 端點(diǎn) URL 和POST請(qǐng)求方法。

更多建議: