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