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

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

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

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

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

3)將輸入導入 cURL

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

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

{ "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 的默認 API 調(diào)用方法已經(jīng)是 GET,因此您實際上不必提供 -X GET選項部分。因此該命令可以縮寫為: curl https://pokeapi.co/api/v2/pokemon。但是記住此選項很有用,因為您將來可能想要使用 POST 方法,因此下面的命令仍將保留該 -X GET選項。

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

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

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

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

要查看有關皮卡丘的具體詳細信息,我們的 API 請求的輸入是:

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

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

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

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

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

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

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

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

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

好的,這部分有點棘手,所以請耐心等待。

{ "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 個神奇寶貝,而不是 20 個。您已成功限制返回的數(shù)據(jù)。

注意:如果您有多個查詢參數(shù),則可以附加下一個參數(shù)并用與號(“&”)分隔它們。即 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 搜索:開啟智能未來的多面利器與應用

下一篇:

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

我們有何不同?

API服務商零注冊

多API并行試用

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

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

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

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費