什么是rest?restful?


百度百科解釋:

  rest:REST即表述性狀態傳遞(英文:Representational State Transfer,簡稱REST)是Roy Fielding博士在2000年他的博士論文中提出來的一種軟件架構風格。它是一種針對網絡應用的設計和開發方式,可以降低開發的復雜性,提高系統的可伸縮性。

  restful:一種軟件架構風格、設計風格,而不是標准,只是提供了一組設計原則和約束條件。它主要用於客戶端和服務器交互類的軟件。基於這個風格設計的軟件可以更簡潔,更有層次,更易於實現緩存等機制。

 

百度百科的解釋有點專業化,但我們可以從另外一個角度,以舉例的方式來闡述:

通常的web項目的CRUD發出的url一般為

URL 請求方式 操作

http://localhost:8080/myweb/queryById?id=1

或 http://localhost:8080/myweb/query?id=1

GET 根據id查詢數據

http://localhost:8080/myweb/save

或 http://localhost:8080/myweb/add

POST 新增數據

http://localhost:8080/myweb/modify

或 http://localhost:8080/myweb/update

POST 修改數據

http://localhost:8080/myweb/removeById?id=1

GET/POST 根據id刪除數據

 

 

 

 

 

 

 

 

 

 

 

 

一看之下是不是很不爽,同樣的操作對應這各種不同的url,而且用到的Http 的請求方式要么是GET 要么是POST,然后實際上Http 的請求方式有八種!

正如此,restful強調的是,一種資源(操作)在網絡上對應的有且僅有一個url,而用Http 自身的請求方式來闡述要進行的操作。

 

URL 請求方式 操作
http://localhost:8080/myweb/query/1 GET 根據id查詢數據
http://localhost:8080/myweb/add POST 新增數據
http://localhost:8080/myweb/modify PUT 修改數據
http://localhost:8080/myweb/remove/1 DELETE 根據id刪除數據

 

 

 

 

 

 

 

兩個表格對比之下就簡單明了,restful 風格的url 中是不帶“動詞”的,用請求的方式來描述“動詞”,這樣的話GET 請求就是查詢,POST 請求就是新增,PUT 請求就是修改,DELETE 請求就是刪除。

如果按照以前的話,一個查詢就可以有多種url,命名不規范,不能很好的統一,這就是為什么有restful 的原因。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM