码迷,mamicode.com
首页 > 其他好文 > 详细

SSM框架中RESTful风格的实现

时间:2017-11-21 23:47:20      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:string   软件架构   操作   any   select   标准   资源   框架   json   

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风格的实现

标签:string   软件架构   操作   any   select   标准   资源   框架   json   

原文地址:http://www.cnblogs.com/beidongxing/p/7875693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!