SpringMVC 构建Restful风格

SpringMVC框架中可以采用RESTful 风格的API访问资源。

REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。如果一个架构符合REST原则,就称它为RESTful架构。

REST,即Representational State Transfer的缩写,我对这个词组的翻译是"表现层状态转化"。它是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

 

什么是REST?

可以总结为一句话:REST是所有Web应用都应该遵守的架构设计指导原则。 
Representational State Transfer,翻译是”表现层状态转化”。 
面向资源是REST最明显的特征,对于同一个资源的一组不同的操作。资源是服务器上一个可命名的抽象概念,资源是以名词为核心来组织的,首先关注的是名词。REST要求,必须通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操作。(7个HTTP方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS)

 

对于资源的具体操作类型,由HTTP动词表示。

常用的HTTP动词有下面五个(括号里是对应的SQL命令)。

GET(SELECT):从服务器取出资源(一项或多项)。

POST(CREATE):在服务器新建一个资源。

PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。

PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。

DELETE(DELETE):从服务器删除资源。

 

还有两个不常用的HTTP动词。

HEAD:获取资源的元数据。

OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。

 

CRUD操作:

crud是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。crud主要被用在描述软件系统中数据库或者持久层的基本操作功能。

 

SpringMVC的RESTful风格的实现是通过@RequestMapping@PathVariable 注解实现的。

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

/blog   HTTP POST =>  新增BLOG

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

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

 

 

/person/{id}  GET     得到id的person

/person   POST        新增person

/person/{id}  PUT      更新id的person

/person/{id}  DELETE    删除id的person

 

参考文档:

1. http://www.cnblogs.com/loveincode/p/7520340.html

posted @ 2017-11-21 22:26  北斗星的微博  阅读(844)  评论(0编辑  收藏  举报