【1、前言】
時常感慨,世事無常,卻也在循環。循環的戒掉,循環的放手,循環的陷入,循環的謙卑...是否是有一天,本若無情,且舍天地義。
前面我們講到oData開放數據協議,oData是Restful的一種實現方式。
【2、定義】
一、REST:英文(:representational state transfer)是一組架構約束條件和原則。
二、RESTful:遵照了REST原則 的web服務。
【3、區別】
RESTful是由REST派生出來的。
【4、REST原則】
一、網絡上的全部均可以抽象成資源;
二、每一個資源都有惟一的資源標識符;
三、同一個資源有多種形式表示(xml、json等);
四、對資源的操做不會改變資源標識符;
五、操做是無狀態的。
【5、RESTful特色】
一、每個url表明一種資源;
二、客戶端使用get、post、put、delete4個操做方式的動詞對服務端資源進行操做。
一、每個URI表明1種資源;
二、客戶端使用GET(獲取資源)、POST(新建資源)、PUT(更新資源)、DELETE(刪除資源)4個表示操做方式的動詞對服務端資源進行操做;
三、客戶端與服務端的請求交互式無狀態的,從客戶端到服務端的每一個請求都必須包含理解請求所必須的信息。
【6、爲何使用RESTful】
一、jsp可讓咱們在界面中嵌入Java,可是效率並不高。所以大多互聯網公司開始實行先後端分離的方式。
二、客戶端的類型多種多樣,RESTful能夠經過一套統一的接口爲pc、蘋果、安卓等提供服務。對廣大平臺來說,他們不須要有顯示的前端,只須要一套提供服務的接口,RESTful就是這樣的。
【7、RESTful設置】
分爲兩種:url與http
一、url
在RESTful架構中,每一個url表示一種資源,因此網絡中只有名詞。並且名詞每每與數據庫的表名對應。
二、http動詞
對於url資源的具體操做,由http動詞表示:GET(獲取資源)、POST(新建資源)、PUT(更新資源)、DELETE(刪除資源)。
【8、RESTful風格】
url+http,名詞與動詞組合,能夠組合成5種操做:
一、查詢:/item +GET
二、建立:/item +POST
三、帶條件的查詢:/item/xxx +GET
四、帶條件的更新:/item/xxx + PUT
五、帶條件的刪除:/item/xxx + DELETE
例如:
咱們在請求的類前面定義:前端
@RestController @RequestMapping(value="/item")
而後就能夠在類裏面根據請求,執行不一樣的操做
//查詢
@RequestMapping(value="/", method=RequestMethod.GET)
//建立
@RequestMapping(value="/", method=RequestMethod.POST)
//根據Id來進行查詢
@RequestMapping(value="/{id}", method=RequestMethod.GET)
//根據Id來進行更新
@RequestMapping(value="/{id}", method=RequestMethod.PUT)
//根據Id來進行刪除
@RequestMapping(value="/{id}", method=RequestMethod.DELETE)web