在圖片中,你可以看到方法是 GET 。端點(diǎn)是 https://pokeapi.co/api/v2/pokemon

后一部分 {id or name} ,稱為路徑參數(shù)。路徑參數(shù)可以是必需的,也可以是可選的。對(duì)于 Poke API,它是可選的。你怎么知道的?它在 資源列表/分頁(yè)部分 中提到。(調(diào)用任何沒(méi)有資源 ID 或名稱的 API 端點(diǎn)將…)

我們需要的最后一個(gè)輸入是授權(quán)。像這樣的公共 API 意味著任何人都可以在未經(jīng)授權(quán)的情況下使用它。因此授權(quán)方法是 No Auth。

總而言之,以下是我們將用來(lái)從 Pokemon 表中獲取數(shù)據(jù)的輸入:

您可以在第 1 部分文章的術(shù)語(yǔ)部分中看到更多類型的授權(quán)。

3)將輸入導(dǎo)入 cURL

讓我們根據(jù)上面的輸入構(gòu)建 cURL 命令

所以我們的最終命令是 curl -X GET https://pokeapi.co/api/v2/pokemon 。讓我們將其輸入到我們的 OS 終端并按 Enter 鍵查看輸出。這是我在 Linux 和 Windows 機(jī)器上的成功輸出(我對(duì)其進(jìn)行了一些格式化以使其看起來(lái)更漂亮)。

{ "count":1281, "next":"https://pokeapi.co/api/v2/pokemon?offset=20&limit=20", "previous":null, "results":[ { "name":"bulbasaur", "url":"https://pokeapi.co/api/v2/pokemon/1/" }, { "name":"ivysaur", "url":"https://pokeapi.co/api/v2/pokemon/2/" }, { "name":"venusaur", "url":"https://pokeapi.co/api/v2/pokemon/3/" }, { "name":"charmander", "url":"https://pokeapi.co/api/v2/pokemon/4/" }, { "name":"charmeleon", "url":"https://pokeapi.co/api/v2/pokemon/5/" }, { "name":"charizard", "url":"https://pokeapi.co/api/v2/pokemon/6/" }, { "name":"squirtle", "url":"https://pokeapi.co/api/v2/pokemon/7/" }, { "name":"wartortle", "url":"https://pokeapi.co/api/v2/pokemon/8/" }, { "name":"blastoise", "url":"https://pokeapi.co/api/v2/pokemon/9/" }, { "name":"caterpie", "url":"https://pokeapi.co/api/v2/pokemon/10/" }, { "name":"metapod", "url":"https://pokeapi.co/api/v2/pokemon/11/" }, { "name":"butterfree", "url":"https://pokeapi.co/api/v2/pokemon/12/" }, { "name":"weedle", "url":"https://pokeapi.co/api/v2/pokemon/13/" }, { "name":"kakuna", "url":"https://pokeapi.co/api/v2/pokemon/14/" }, { "name":"beedrill", "url":"https://pokeapi.co/api/v2/pokemon/15/" }, { "name":"pidgey", "url":"https://pokeapi.co/api/v2/pokemon/16/" }, { "name":"pidgeotto", "url":"https://pokeapi.co/api/v2/pokemon/17/" }, { "name":"pidgeot", "url":"https://pokeapi.co/api/v2/pokemon/18/" }, { "name":"rattata", "url":"https://pokeapi.co/api/v2/pokemon/19/" }, { "name":"raticate", "url":"https://pokeapi.co/api/v2/pokemon/20/" } ] }

注意:cURL 的默認(rèn) API 調(diào)用方法已經(jīng)是 GET,因此您實(shí)際上不必提供 -X GET選項(xiàng)部分。因此該命令可以縮寫為: curl https://pokeapi.co/api/v2/pokemon。但是記住此選項(xiàng)很有用,因?yàn)槟鷮?lái)可能想要使用 POST 方法,因此下面的命令仍將保留該 -X GET選項(xiàng)。

恭喜,您剛剛使用 cURL 對(duì) PokeAPI 進(jìn)行了 API 調(diào)用!

4)高級(jí)——路徑參數(shù)

路徑參數(shù)定義在 3.2.2 節(jié)中提到。路徑參數(shù)通常用于獲取單個(gè)對(duì)象的詳細(xì)信息。

例如,您想要獲取有關(guān)特定 Pokemon(如 Pikachu)的詳細(xì)信息。您可以使用“pikachu”作為路徑參數(shù)并插入到端點(diǎn)中。

要查看有關(guān)皮卡丘的具體詳細(xì)信息,我們的 API 請(qǐng)求的輸入是:

讓我們?cè)?cURL 中編輯端點(diǎn)。cURL 命令現(xiàn)在如下所示:

curl -X GET https://pokeapi.co/api/v2/pokemon/pikachu

讓我們復(fù)制它,輸入到我們的 OS 終端并按回車鍵進(jìn)行 API 調(diào)用。

輸出內(nèi)容很長(zhǎng),所以我就不放在這里了。它包含有關(guān)皮卡丘的能力和許多其他內(nèi)容的詳細(xì)信息。

如您所見(jiàn),更改路徑參數(shù)就像編輯 API 端點(diǎn)一樣簡(jiǎn)單。

5)高級(jí)——查詢參數(shù)

API 可以提供一種方法來(lái)過(guò)濾、排序和限制返回的數(shù)據(jù)。該方法通常是通過(guò)查詢參數(shù)來(lái)實(shí)現(xiàn)的。有些文檔將查詢參數(shù)僅稱為參數(shù)。因此,很容易將查詢參數(shù)與路徑參數(shù)混淆。

對(duì)于 Poke API,只有幾個(gè)查詢參數(shù)。其中一個(gè)允許 API 請(qǐng)求限制返回的記錄數(shù)。它在 資源列表/分頁(yè)部分 中描述。

根據(jù)描述,您可以添加一個(gè)名為“l(fā)imit”的查詢參數(shù)和我們想要的記錄數(shù),API 將僅返回指定數(shù)量的記錄。 例如,您想獲取 Pokemon 表上的前 2 個(gè) pokemon。那么我們的 API 請(qǐng)求的輸入將是:

好的,這部分有點(diǎn)棘手,所以請(qǐng)耐心等待。

{ "count":1281, "next":"https://pokeapi.co/api/v2/pokemon?offset=2&limit=2", "previous":null, "results":[ { "name":"bulbasaur", "url":"https://pokeapi.co/api/v2/pokemon/1/" }, { "name":"ivysaur", "url":"https://pokeapi.co/api/v2/pokemon/2/" } ] }

如果您不使用查詢參數(shù),返回的數(shù)據(jù)將僅顯示 2 個(gè)神奇寶貝,而不是 20 個(gè)。您已成功限制返回的數(shù)據(jù)。

注意:如果您有多個(gè)查詢參數(shù),則可以附加下一個(gè)參數(shù)并用與號(hào)(“&”)分隔它們。即 https://pokeapi.co/api/v2/pokemon?offset=2&limit=2

原文鏈接:https://medium.com/refined-and-refactored/how-to-make-basic-api-requests-part-2-using-curl-cf3aa0b37c78

上一篇:

天工 AI 搜索:開啟智能未來(lái)的多面利器與應(yīng)用

下一篇:

通過(guò)速率限制和節(jié)流控制優(yōu)化API資源利用率
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)