什么是RESTful風格?
REST是REpresentational State Transfer的縮寫(一般中文翻譯為表述性狀態轉移),REST 是一種體系結構,而 HTTP 是一種包含了 REST 架構屬性的協議,為了便於理解,我們把它的首字母拆分成不同的幾個部分:
- 表述性(REpresentational): REST 資源實際上可以用各種形式來進行表述,包括 XML、JSON 甚至 HTML——最適合資源使用者的任意形式;
- 狀態(State): 當使用 REST 的時候,我們更關注資源的狀態而不是對資源采取的行為;
- 轉義(Transfer): REST 涉及到轉移資源數據,它以某種表述性形式從一個應用轉移到另一個應用。
簡單地說,REST 就是將資源的狀態以適合客戶端或服務端的形式從服務端轉移到客戶端(或者反過來)。在 REST 中,資源通過 URL 進行識別和定位,然后通過行為(即 HTTP 方法)來定義 REST 來完成怎樣的功能。
實例說明:
在平時的 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 方法語義的操作,它都能夠勝任。
在使用 RESTful 風格之前,我們如果想要增加一條商品數據通常是這樣的:
但是使用了 RESTful 風格之后就會變成:
這就變成了使用同一個 URL ,通過約定不同的 HTTP 方法來實施不同的業務,這就是 RESTful 風格所做的事情了,為了有一個更加直觀的理解,引用一下來自how2j.cn的圖:
以上內容轉載自:我沒有三顆心臟
原文名稱:使用RESTful風格開發Java Web
原文地址:https://www.cnblogs.com/wmyskxz/p/9104368.html