RESTful風格瞭解
又一次工作中要求接口的形式需要按照RESTful風格,由於第一次聽到這個名詞,所以來了解一下。
RESTFUL是一種網絡應用程序的設計風格和開發方式,基於HTTP,可以使用XML格式定義或JSON格式定義。
其實RESTful不是一個新技術,是原有的技術添加了一些規則或者重新定義了使用方法。下面就介紹RESTful風格的重要的一些概念。
RESTful的特點。(來自百度百科)
- 每一個URI代表1種資源;
- 客戶端使用GET、POST、PUT、DELETE4個表示操作方式的動詞對服務端資源進行操作:GET用來獲取資源,POST用來新建資源(也可以用於更新資源),PUT用來更新資源,DELETE用來刪除資源;
- 通過操作資源的表現形式來操作資源;
- 資源的表現形式是XML或者HTML;
- 客戶端與服務端之間的交互在請求之間是無狀態的,從客戶端到服務端的每個請求都必須包含理解請求所必需的信息。
其實看到這裏就發現了RESTful並沒有添加了什麼新的概念,只是將所有的操作定義爲對資源的操作。它的優點也顯而易見,擴展性強、結構清晰。但是缺點也是有的,當項目很小,使用這種風格就顯得沒有必要甚至比較繁瑣。剩下就沒有什麼需要說的了,然後就是列出一下比較好的例子。
- 從賬戶a轉賬到賬戶b裏面100元
POST /accounts/a/transfer/100/to/b
可以修改爲這樣。
POST /transaction HTTP/1.1
from=a&to=b&money=100
需要注意的地方(這個東西感覺還是使用過程中慢慢去了解,後面也會慢慢補充):
- 版本號應該是放在HTTP請求頭信息的Accept字段中,而不是放在URL中。