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