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