1. 程式人生 > >SSM框架中RESTful風格的實現

SSM框架中RESTful風格的實現

層次 article delet 註解 服務器 ppi ble req variable

REST這個詞,是Roy Thomas Fielding在他2000年的博士論文中提出的。

如果一個架構符合REST原則,就稱它為RESTful架構。

REST,即Representational State Transfer的縮寫,我對這個詞組的翻譯是"表現層狀態轉化"。它是一種軟件架構風格、設計風格,而不是標準,只是提供了一組設計原則和約束條件。它主要用於客戶端和服務器交互類的軟件。基於這個風格設計的軟件可以更簡潔,更有層次,更易於實現緩存等機制。

對於資源的具體操作類型,由HTTP動詞表示。

常用的HTTP動詞有下面五個(括號裏是對應的SQL命令)。

GET(SELECT):從服務器取出資源(一項或多項)。

POST(CREATE):在服務器新建一個資源。

PUT(UPDATE):在服務器更新資源(客戶端提供改變後的完整資源)。

PATCH(UPDATE):在服務器更新資源(客戶端提供改變的屬性)。

DELETE(DELETE):從服務器刪除資源。

還有兩個不常用的HTTP動詞。

HEAD:獲取資源的元數據。

OPTIONS:獲取信息,關於資源的哪些屬性是客戶端可以改變的。

SpringMVC的RESTful風格的實現是通過@RequestMapping 及@PathVariable 註解實現的。

/blog/1 HTTP GET =>  得到id = 1的blog

/blog/1 HTTP DELETE => 刪除 id = 1的blog

/blog/1 HTTP PUT =>  更新id = 1的blog

/blog   HTTP POST =>  新增BLOG

GET /tickets - 獲取 tickets 列表

GET /tickets/12 - 獲取一個單獨的 ticket

POST /tickets - 創建一個新的 ticket

PUT /tickets/12 - 更新 ticket #12

PATCH /tickets/12 - 部分更新 ticket #12

DELETE /tickets/12 - 刪除 ticket #12

GET /tickets/12/messages - 獲取ticket #12下的消息列表

GET /tickets/12/messages/5 - 獲取ticket #12下的編號為5的消息

POST /tickets/12/messages - 為ticket #12創建一個新消息

PUT /tickets/12/messages/5 - 更新ticket #12下的編號為5的消息

PATCH /tickets/12/messages/5 - 部分更新ticket #12下的編號為5的消息

DELETE /tickets/12/messages/5 - 刪除ticket #12下的編號為5的消息

具體為:

@RequestMapping(value = "/tickets/{ticketsId}",method = RequestMethod.POST)
public JsonResult<String> delTicketsId(@PathVariable String ticketsId){
	 ......
}   

  

參考博客:

1.http://www.ruanyifeng.com/blog/2014/05/restful_api.html

2.http://www.ruanyifeng.com/blog/2011/09/restful

3.http://www.blogjava.net/soken/articles/371548.html

4.http://www.blogjava.net/soken/articles/371548.html

SSM框架中RESTful風格的實現