什麼是RESTful風格?
REST是REpresentational State Transfer的縮寫(通常中文翻譯爲表述性狀態轉移),REST 是一種體系結構,而 HTTP 是一種包含了 REST 架構屬性的協議,爲了便於理解,咱們把它的首字母拆分紅不一樣的幾個部分:html
- 表述性(REpresentational): REST 資源實際上能夠用各類形式來進行表述,包括 XML、JSON 甚至 HTML——最適合資源使用者的任意形式;
- 狀態(State): 當使用 REST 的時候,咱們更關注資源的狀態而不是對資源採起的行爲;
- 轉義(Transfer): REST 涉及到轉移資源數據,它以某種表述性形式從一個應用轉移到另外一個應用。
簡單地說,REST 就是將資源的狀態以適合客戶端或服務端的形式從服務端轉移到客戶端(或者反過來)。在 REST 中,資源經過 URL 進行識別和定位,而後經過行爲(即 HTTP 方法)來定義 REST 來完成怎樣的功能。java
實例說明:
在平時的 Web 開發中,method 經常使用的值是 GET 和 POST,可是實際上,HTTP 方法還有 PATCH、DELETE、PUT 等其餘值,這些方法又一般會匹配爲以下的 CRUD 動做:架構
CRUD 動做 | HTTP 方法 |
---|---|
Create | POST |
Read | GET |
Update | PUT 或 PATCH |
Delete | DELETE |
儘管一般來說,HTTP 方法會映射爲 CRUD 動做,但這並非嚴格的限制,有時候 PUT 也能夠用來建立新的資源,POST 也能夠用來更新資源。實際上,POST 請求非冪等的特性(即同一個 URL 能夠獲得不一樣的結果)使其成一個很是靈活地方法,對於沒法適應其餘 HTTP 方法語義的操做,它都可以勝任。url
在使用 RESTful 風格以前,咱們若是想要增長一條商品數據一般是這樣的:spa
可是使用了 RESTful 風格以後就會變成:.net
這就變成了使用同一個 URL ,經過約定不一樣的 HTTP 方法來實施不一樣的業務,這就是 RESTful 風格所作的事情了,爲了有一個更加直觀的理解,引用一下來自how2j.cn的圖:翻譯
推薦閱讀:使用RESTful風格開發Java Webcode
以上內容轉載自:我沒有三顆心臟 原文名稱:使用RESTful風格開發Java Web 原文地址:https://www.cnblogs.com/wmyskxz/p/9104368.html