微信截圖_17425189676128.png)
調(diào)用Leonardo.ai API 實現(xiàn)文生圖:小白上手指南
并非每個終端節(jié)點都會使用所有這些功能。例如,終端節(jié)點可能是 RESTful 服務(wù)的一部分,該服務(wù)不為單個 API 實現(xiàn)單獨的服務(wù)名稱,或者不包含版本號(這對于供內(nèi)部使用的 API 來說很常見)。
主機(jī): 托管 RESTful 服務(wù)的服務(wù)器的網(wǎng)絡(luò)位置。包括協(xié)議(HTTP 或 HTTPS)。
服務(wù): 擁有多項服務(wù)的公司需要在不同的地址提供每個 API。在上面的示例中,有一個 API(包含用于返回超級英雄列表的終端節(jié)點,但也可能包含其他與超級英雄相關(guān)的終端節(jié)點 — 例如,返回超級英雄宇宙列表的終端節(jié)點,例如“Marvel”或“DC”)。除了這個 API 之外,同一提供者還可能提供另一個 API(帶有端點 — 可以返回如“Snow White”、“Cinderella”等童話人物的信息)。
API 版本: API 版本用于跟蹤對 API 的更改。API 定期更新是正常的,但當(dāng)出現(xiàn)重大更改時,即需要指定新的 API 版本(例如“v2”)時。用戶可以繼續(xù)調(diào)用 “v1” 終端節(jié)點,直到他們明確升級到 “v2” 并修復(fù)任何重大更改。
資源類型:資源是一系列相關(guān)信息。例如,超級英雄資源包含有關(guān)特定超級英雄的屬性列表,例如他們來自哪里以及他們擁有哪些超能力。終端節(jié)點(末尾沒有任何資源標(biāo)識符)是一個列表終端節(jié)點,它返回一個超級英雄列表,每個超級英雄都包含一個唯一的資源標(biāo)識符。
資源標(biāo)識符:資源標(biāo)識符是用于檢索特定資源信息的唯一標(biāo)識符,通常位于終端節(jié)點 URL 的末尾。例如,如果 Superman 具有唯一 ID “1234”,則調(diào)用將返回有關(guān) Superman 的信息。如果您不知道正確的資源標(biāo)識符,可以通過調(diào)用上面的列表終端節(jié)點來查找。
查詢字符串參數(shù):您還可以在請求信息列表時將查詢字符串參數(shù)添加到請求的末尾。這些通常用于從結(jié)果中對列表進(jìn)行排序或篩選。在上面的示例中,該參數(shù)用于篩選目的:確保僅返回有關(guān)特定超級英雄的某些字段。在這種情況下,僅返回 and 字段,并保留其他字段。
API 端點只是 REST API 請求的一部分。在編寫需要與 REST API 交互的代碼時,您應(yīng)該了解請求的四個主要組件:終端節(jié)點、HTTP 方法、標(biāo)頭和請求正文。
對 REST API 端點的所有請求都包含 HTTP 方法。用于與 REST API 端點交互的最常見方法是:
例如,要讀取 Superman 的記錄,您需要向該端點發(fā)送 HTTP GET 請求。但是,如果要刪除他的記錄,您需要向相同的端點(標(biāo)識資源的 URL)發(fā)送 HTTP DELETE 請求。HTTP 方法指示要執(zhí)行的操作,端點標(biāo)識操作將受影響的資源。
HTTP 標(biāo)頭是隨 API 請求一起發(fā)送的鍵值對,用于向服務(wù)器提供額外信息。有時它們會自動添加到請求中,但有時您必須自己定義它們。以下是使用 cURL 添加到 API 請求的標(biāo)頭示例:Content-Type
curl -H "Content-Type: application/json" https://example.com/api/
如果您使用 Postman(一個用于測試 REST API 的漂亮圖形工具),這可能會自動為您生成一些標(biāo)頭。在下面的示例中,除 1 個標(biāo)頭外的所有標(biāo)頭都是自動生成的:
發(fā)送到 REST API 的最常見標(biāo)頭是:
Content-Type
:指定應(yīng)返回給您的數(shù)據(jù)格式。常見的選項包括 JSON、XML 和 HTML 等。Authorization
:許多 REST API 端點需要授權(quán)才能使用。如果需要授權(quán),您需要設(shè)置相應(yīng)的標(biāo)頭,并添加正確的身份驗證詳細(xì)信息。請參考 API 文檔以了解所需的授權(quán)類型以及如何獲取身份驗證令牌的詳細(xì)信息。授權(quán)標(biāo)頭的一個示例是 bearer token 選項。如果要向需要不記名令牌的 API 發(fā)送請求,可以在標(biāo)頭中發(fā)送請求,如下所示:
在創(chuàng)建或更新資源時,您需要發(fā)送需要存儲的任何新數(shù)據(jù)。這應(yīng)該在請求正文中發(fā)送。您還需要告訴 API 您發(fā)送數(shù)據(jù)的格式 — 例如 JSON。下面介紹如何使用 Postman 發(fā)送帶有 JSON 正文的 POST 請求,其中包含新的超級英雄超人,并包含與他相關(guān)的不同類型的信息。
REST API 響應(yīng)應(yīng)包含:
1. GET 返回以下 JSON:
2. POST(以及請求正文中的數(shù)據(jù))返回以下 JSON:
3. DELETE(假設(shè)此資源存在)返回以下 JSON:
要完全了解如何使用 REST API 創(chuàng)建、讀取、更新和刪除數(shù)據(jù),可以參考一些具體示例。我們將使用 Contentful API 來逐步引導(dǎo)您完成這些操作。如果您想深入學(xué)習(xí),可以免費注冊 Contentful。
注冊Contentful 帳戶并登錄后,您將自動進(jìn)入一個空間,這是一個工作區(qū),您可以在其中編輯要發(fā)布到網(wǎng)站和應(yīng)用程序的所有內(nèi)容。
要開始與 Contentful REST API 交互,您需要一個用于身份驗證的訪問令牌。要獲取您的訪問令牌,請轉(zhuǎn)到“設(shè)置”→“CMA 令牌”,然后單擊“創(chuàng)建個人訪問令牌”。為您的令牌命名,記下它,然后單擊 “Generate” 按鈕。現(xiàn)在復(fù)制您的訪問令牌并將其保存在安全的地方。
我們現(xiàn)在要檢查您的 API 密鑰是否有效。我們建議使用 Postman 來實現(xiàn)此目的。您需要向 CMA 令牌發(fā)出 GET 請求并傳入“Bearer Token”授權(quán)標(biāo)頭,如前所述。
這將返回 a 和一些 JSON。如果您滾動瀏覽 JSON,您應(yīng)該能夠找到空間的 ID。復(fù)制它并將其保存在某個位置,因為您在下一步中會需要它。
為了演示如何使用 Contentful REST API,我們將練習(xí)讀取、創(chuàng)建、更新和刪除一些環(huán)境。
在 Contentful 中,環(huán)境是維護(hù)多個內(nèi)容版本的一種方式。每個帳戶都從一個名為 master 的默認(rèn)環(huán)境開始,但很快您將需要創(chuàng)建其他環(huán)境,例如沙盒環(huán)境,用于測試您希望處理的一些新內(nèi)容,而不會影響 master 環(huán)境。
要從 Contentful 讀取環(huán)境列表,請向以下對象發(fā)送 GET 請求:
https://api.contentful.com/spaces/{space_id}/environments
將 {space_id} 替換為您之前保存的空間 ID,并附加以下 HTTP 標(biāo)頭:
Authorization: Bearer <CMA_TOKEN>
將 <CMA_TOKEN> 替換為您的實際 CMA 令牌。
這將返回一些 JSON,其中包含環(huán)境列表和相關(guān)信息,以及 OK 狀態(tài)代碼。
要在 Contentful 中創(chuàng)建新的環(huán)境資源,請向以下對象發(fā)送 HTTP POST 請求:
https://api.contentful.com/spaces/{space_id}/environments
將{space_id}
替換為您之前保存的空間的 ID,并附加以下 HTTP 標(biāo)頭:
Authorization: Bearer <CMA_TOKEN>
Content-Type: application/vnd.contentful.management.v1+json
在請求正文中添加要創(chuàng)建的環(huán)境的名稱:
body: {
"name": "My environment name"
}
這將在 Contentful 應(yīng)用程序中創(chuàng)建一個新環(huán)境,您可以通過使用瀏覽器登錄或調(diào)用空間的“列表環(huán)境”端點來查看該環(huán)境:
GET https://api.contentful.com/spaces/{space_id}/environments
當(dāng)您使用 HTTP POST 在 Contentful 中創(chuàng)建資源時,它將具有自動生成的 ID,或者您可以使用 HTTP PUT 方法自行指定一個 ID 來創(chuàng)建資源。
我們將使用 HTTP PUT 請求通過更改名稱來更新 Contentful 中的環(huán)境。為此,請向以下 URL 發(fā)送 HTTP PUT 請求,其中 {environment_id} 是要更改名稱的環(huán)境的 ID,{space_id} 是空間的 ID:
https://api.contentful.com/spaces/{space_id}/environments/{environment_id}
使用以下 HTTP 標(biāo)頭:
Authorization: Bearer <CMA_TOKEN>
Content-Type: application/vnd.contentful.management.v1+json
并在請求正文中發(fā)送要創(chuàng)建的環(huán)境的名稱:
body: {
"name": "My new environment name"
}
最后,您需要指定要更新的環(huán)境版本,方法是添加以下標(biāo)頭,并替換為正確的版本:
<existing_version>
X-Contentful-Version: <existing_version>
請注意,這是 Contentful REST API 特有的功能。在使用其他 REST API 進(jìn)行更新時,您可能不需要做同樣的事情。但是,許多 REST API 添加了與此類似的額外功能,您將在閱讀其 API 文檔時發(fā)現(xiàn)這一點。
如果您不確定最新版本是什么,可以通過向同一終端節(jié)點發(fā)送 GET 請求來了解,響應(yīng)會通知您。
要刪除 Contentful 中空間內(nèi)的特定環(huán)境,請向以下 URL 發(fā)送 HTTP DELETE 請求,其中 {space_id} 是空間的 ID,{environment_id} 是要刪除的環(huán)境的 ID:
https://api.contentful.com/spaces/{space_id}/environments/{environment_id}
并使用以下 HTTP 標(biāo)頭:
Authorization: Bearer <CMA_TOKEN>
API 是一種使用 JavaScript、PHP、Python、Java、Ruby 和 C# 等編程語言在不同軟件服務(wù)之間進(jìn)行通信的方式。REST 是一組用于創(chuàng)建特定類型 API 的規(guī)則和準(zhǔn)則,并非所有 API 都是 RESTful API。
REST 代表 Representational State Transfer,特點包括:
瀏覽 Contentful API 文檔以鞏固您對 REST API 的理解。
REST API 是遵循 REST(表示性狀態(tài)傳輸)原則的 API,使系統(tǒng)之間能夠輕松通信。RESTful 系統(tǒng)在客戶端和服務(wù)器之間具有分離的關(guān)注點,這意味著每個系統(tǒng)都可以彼此獨立地實現(xiàn)。REST API 是無狀態(tài)的,這意味著每個 API 請求都完全獨立于任何以前的請求。
REST API 向客戶端公開端點,允許它們調(diào)用服務(wù)器。客戶端向終端節(jié)點發(fā)送 HTTP 請求,服務(wù)器接收請求。
在大多數(shù)情況下,一些身份驗證詳細(xì)信息會隨請求一起發(fā)送,并且服務(wù)器會檢查是否允許客戶端發(fā)出請求。由于 RESTful 系統(tǒng)是無狀態(tài)的,因此需要對每個請求重新驗證客戶端。
然后,服務(wù)器處理請求并返回響應(yīng),通常采用 JSON 或類似格式。它還返回 HTTP 狀態(tài)代碼以通知用戶成功或失敗。
RESTful 服務(wù)允許在客戶端和服務(wù)器之間以及服務(wù)器的不同部分之間分離關(guān)注點。
REST API 易于使用 — 它們使用 HTTP 調(diào)用,這是 Web 的語言。開發(fā)人員已經(jīng)熟悉這一點。
REST API 也是可伸縮的,原因有兩個:
冪簡集成是國內(nèi)領(lǐng)先的API集成管理平臺,專注于為開發(fā)者提供全面、高效、易用的API集成解決方案。冪簡API平臺可以通過以下兩種方式找到所需API:通過關(guān)鍵詞搜索API、或者從API Hub分類頁進(jìn)入尋找。
原文鏈接:https://www.contentful.com/blog/what-is-a-rest-api/
調(diào)用Leonardo.ai API 實現(xiàn)文生圖:小白上手指南
一文搞懂在 HTTP 如何 one-api 調(diào)用,實操指南來襲!
如何在Excel VBA中調(diào)用REST API
Shopify API 授權(quán):全面指南與最佳實踐
FastOpenAPI:Python框架API文檔自動化生成工具,解放你的雙手!
如何在 Spring Boot REST 中實現(xiàn)多線程 API
云原生 API 網(wǎng)關(guān) APISIX 入門教程
RESTful Web API 設(shè)計中要避免的 6 個常見錯誤
如何獲取通義千問 API Key 密鑰(分步指南)