淺談RESTful接口設計和開發(增刪改查)

一.REST起源

REST(Representational State Transfer)表象化狀態轉變(表述性狀態轉變),在2000年被提出,基於HTTP、URI、XML、JSON等標準和協議,支持輕量級、跨平臺、跨語言的架構設計,是Web服務的一種新的架構風格(一種思想)。

1.什麼是輕量級:

代碼不被侵入(正例:SpringMVC中不用接口和繼承,僅用註解完成。反例:Struts中每一個Action都要繼承核心控制器),輕量級跟包大小無關。耦合性越低,越輕量。

二.REST架構的主要原則

對網絡上所有的資源都有一個資源標誌符。
對資源的操作不會改變標識符。
同一資源有多種表現形式(xml、json)
所有操作都是無狀態的(Stateless)

符合上述REST原則的架構方式稱爲RESTful

1.URI和URL區別:

URI:http://example.com/users/
URL:http://example.com/users/{user} (one for each user)

2.什麼是無狀態性:

使得客戶端和服務器端不必保存對方的詳細信息,服務器只需要處理當前的請求,不需瞭解請求的歷史。可以更容易的釋放資源,讓服務器利用Pool(連接池)技術來提高穩定性和性能。
在這裏插入圖片描述
三.RESTful介紹

RESTful是一種常見的REST應用,是遵循REST風格的web服務,REST式的web服務是一種ROA(面向資源的架構)。

1.RESTful資源操作
在這裏插入圖片描述
冪等性:對同一REST接口的多次訪問,得到的資源狀態是相同的。
安全性:對該REST接口訪問,不會使服務器端資源的狀態發生改變。

2.接口示例:

2.1.傳統URL請求格式:

http://127.0.0.1/user/query/1 GET 根據用戶id查詢用戶數據
http://127.0.0.1/user/save POST 新增用戶
http://127.0.0.1/user/update POST 修改用戶信息
http://127.0.0.1/user/delete GET/POST 刪除用戶信息

2.2.RESTful請求格式:

http://127.0.0.1/user/1 GET 根據用戶id查詢用戶數據
http://127.0.0.1/user POST 新增用戶
http://127.0.0.1/user PUT 修改用戶信息
http://127.0.0.1/user DELETE 刪除用戶信息

3.響應設計

原則:數據接收到即可使用,無需拆箱。

在一次請求中,content body僅僅用於傳輸數據。Header中存放描述請求或請求的元數據,例如 X-Result-Fields。
在這裏插入圖片描述

4.http響應狀態碼

根據http響應碼,判斷請求狀態,進而做出提醒。
在這裏插入圖片描述

四.RESTful的使用

下面將用實際代碼演示RESTful做增刪改查的操作使用示例:
1.查詢get:
在這裏插入圖片描述
查詢測試:
在這裏插入圖片描述
在這裏插入圖片描述

2.新增post:
在這裏插入圖片描述
新增測試:

AJAX調用:
在這裏插入圖片描述
在這裏插入圖片描述

3.更新put:
在這裏插入圖片描述
在這裏插入圖片描述

4.刪除delete:
在這裏插入圖片描述
在這裏插入圖片描述
五.結語

至此,RESTful的介紹和使用已經完成,RESTful已在各互聯網公司接口定義中,成爲主流的範式,RESTful減少了傳統請求的拆裝箱操作,結構清晰,在接口定義中受到前後端開發者的青睞。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章