2016-12-16 127 views
6

我想知道REST和API之間的主要區別。有時我在編程文檔中看到REST API,那麼REST或API與REST API相同?我想更多地瞭解REST,API和REST API之間的關係。 謝謝。REST和API有什麼區別?

回答

13

REST是一種API。並非所有API都是REST,但所有REST服務都是API。

API是一個相當廣泛的術語。通常這是一段代碼與另一段代碼的對話。在Web開發中,API通常指的是我們從聯機服務中檢索信息的方式。 API文檔將爲您提供關於如何從API發出請求的URL,查詢參數和其他信息的列表,並告知您將爲每個查詢給出什麼樣的響應。

REST是一套關於如何構建Web API的規則/標準/準則。由於有很多方法可以做到這一點,因此通過構建API的商定體系可以節省構建API時的決策時間,並節省時間來理解如何使用API​​。

+0

你好,我可能會強加給你解釋更多的細節。謝謝 –

+1

我編輯了我的答案,添加了一些更多的細節,但這是一個非常廣泛的話題,我不可能在這裏覆蓋。如果您想了解更多詳情,我建議使用Google搜索條款REST和API。另外,關於您在API方面想要完成的一些細節可能會使您更容易明確地回答您的問題。 – dave

+0

簡單易懂,謝謝! – osk

2

在REST和API中沒有比較,Rest是API類型。

API通常是一組通過應用軟件部署的協議,用於與其他軟件組件(如瀏覽器與服務器交互)進行通信,併爲應用軟件爲多個現場用戶提供的服務提供接口。 Rest是一種原則形式,如果任何API遵循在哪個服務器提供信息,無論客戶希望與服務交互如何。

6

REST大多隻是指按照預期的方式使用HTTP協議。使用URL上的GET HTTP方法檢索信息,可能以基於HTTP Accept標題的不同格式。使用POST HTTP方法在服務器上創建新項目,PUT以編輯現有項目,DELETE刪除它們。使API具有冪等性,即使用相同的信息重複相同的查詢應該可以得到相同的結果。以分層方式構建您的網址等。

REST只是一個指導原則,如何使用URL和HTTP協議來構建API。它沒有提到任何有關返回格式的信息,這可能也是JSON。

這與例如將二進制或XML消息發送到指定端口的API不同,它們根本不使用HTTP方法或URL中的差異。