rest api是什么_什么是REST API?
rest api是什么
在此博客中,我將討論REST API,什么是Rest API,什么是REST API以及如何使用。 因此,希望您閱讀此博客后能對REST API有所了解。
Roy Fielding定義了REST。 在2000年的博士學位論文中,他介紹了REST原理。什么是REST?
REST代表代表性狀態轉移 。 我們也可以說REST是API的體系結構樣式或設計模式。
- REST確定API的外觀。
 - 這是開發人員在創建其API時應遵循的一組規則。
 - 這些規則之一說,當您鏈接到特定的URL時,您應該能夠獲得一條數據(稱為資源)。
 - 每個網址都稱為一個請求,例如[www.google.com],而發送回給您的數據稱為響應。[這是我們在瀏覽器中可以看到的google頁面]
 
因此,在繼續使用REST API之前,我們需要知道什么是API?
API代表應用程序編程接口。
簡而言之, API是用于構建和集成應用程序軟件的一組定義和協議。
您在使用Facebook,Instagram等應用程序時會使用API??,或者在手機上查看天氣。
例如。
當您訪問任何一家食品市場時,您都會向在食品市場工作的人員提供事物列表(以HTTP要求)。 然后[API]的人閱讀了您提供給他們的列表,最后,他為您提供了列表中提到的所有內容[僅是響應]。 因此,API不過是一個中介,它允許兩個應用程序相互通信。 您可以檢查下圖以更好地理解。
什么是RESTful API(REST API)?
REST API使用HTTP請求來獲取,放置,發布和刪除數據。
為了簡單起見,請參見以下示例:
假設您嘗試在YouTube上找到有關板球的視頻。 您打開YouTube,在搜索字段中輸入“板球”,然后按Enter,然后您會看到有關板球的視頻列表。 在此過程中,您正在使用REST API。 通過簡單的方法,您可以搜索內容,然后從請求的服務中獲得結果。 因此,這就是REST API,當您執行某些請求時,您將獲得數據作為響應。
標準請求API的示例如下所示:
curl -vhttp: //www.google.com我們正在通過curl發送請求,curl是HTTP客戶端。 另外,我們可以使用Postman,REST Client等瀏覽器實用程序發送請求。
這是我們通過curl請求google.com時在響應中看到的內容:
REST API涉及的方法:
為了使API是RESTful,我們需要遵循以下6個約束:
1.統一的界面
統一接口定義客戶端和服務器之間的接口。
對我們來說,這意味著
- HTTP動詞(GET,POST,PUT,DELETE)
 - URI(資源名稱)
 - HTTP響應(狀態和正文)
 
2.無狀態
由于完整的請求-響應過程是通過HTTP協議完成的,因此它不存儲有關事務的任何數據。
3.可緩存
許多客戶端或用戶訪問同一臺服務器并經常請求相同的資源,因此有必要對這些響應進行緩存,以避免再次對同一請求進行不必要的處理并顯著提高性能。
4.客戶端-服務器
統一接口將客戶端與服務器分開。 這意味著客戶端不關心后端數據或數據存儲,服務器不關心用戶界面或用戶狀態,因此服務器可以更簡單,更可擴展。 只要不更改接口,服務器和客戶端也可以獨立替換和開發。
5.分層系統
在請求數據的客戶端與將響應發送回的服務器之間,中間可能有許多服務器。 這些服務器可能還提供緩存層,安全層,負載平衡層或其他功能。 這些層不會影響請求或響應。
6.按需編碼(可選)
按需編碼條件是可選的,它允許客戶按需運行一些代碼,即通過腳本或applet將服務器邏輯的一部分擴展到客戶端。 因此,即使使用服務器提供的完全相同的服務,不同的客戶也可能以特定的方式表現。 當執行一些效率更高或更快速的客戶端服務時,可以使用按需編碼。
REST API的方法:
我們所有人都使用網絡技術,進行CRUD操作。 當我說CRUD操作時,僅此而已,我們可以創建資源,讀取資源,更新資源和刪除資源。 現在,要執行這些操作,您實際上可以使用HTTP方法,這些方法不過是REST API方法。
請參考以下內容。
狀態碼或響應碼:
發出任何請求時,您將在響應中獲得一些HTTP狀態代碼以顯示請求的狀態。
HTTP狀態碼很多,分為5類。
狀態代碼的第一個數字表示該代碼屬于哪個代碼:
1xx的狀態碼:
狀態編碼為2xx:
3xx的狀態碼:
4xx的狀態碼:
5xx的狀態碼:
為什么要REST?
REST的最重要功能是它強制執行統一的界面 -每個人都遵循的一組指令或規則。
REST API易于使用且靈活。
由于REST遵循標準的HTTP操作,因此它使用具有特定含義的動詞,例如“ get”或“ delete”,以避免不確定性。
REST API也易于修改和擴展。
REST API始終獨立于我們可以在任何地方使用的平臺或語言的類型。
REST對于構建大型,可伸縮的系統或應用程序很有用。
這個怎么運作:
下圖說明了在任何應用程序中其余API的工作方式:
在網站上,當客戶端向/ users發送請求以從服務器獲取用戶列表時,服務器此時將檢查用戶數據,并將其作為響應發送回用戶列表。
因此,我將向您展示REST API的工作原理。 我已經用MongoDB創建了一個快速應用程序。 這是一個基于REST的簡單應用程序,其中我們可以看到如何使用不同的方法[GET,PUT,POST,DELETE]將請求發送到數據庫,以及可以得到哪種響應。
1. GET請求到服務器以獲取數據庫中存在的注釋:
2. POST請求到服務器以在數據庫中創建注釋:
3.通過使用noteId將請求發送到服務器以更新注釋:
4.刪除服務器請求以從數據庫中刪除特定注釋:
如果要嘗試使用REST API的示例,可以查看我的GitHub存儲庫:
快樂編碼:)
翻譯自: https://hackernoon.com/wtf-are-rest-apis-tn9m32e2
rest api是什么
總結
以上是生活随笔為你收集整理的rest api是什么_什么是REST API?的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 前端基础知识--Document的常用属
 - 下一篇: fileserve