Spring MVC框架RESTful风格讲解(1)
如果觉得写的还可以,点个赞支持一下笔者呗!你们的点赞和关注会让笔者更新更快哦!!笔者会持续更新关于Java和大数据有关的文章
笔者在网上搜索关于RESTful风格时:发现有很多的文章,但是都讲得不是特别清楚。那么笔者想要出一个比较通俗易懂的教程。
首先我们先来看看什么是RESTful风格。注意啦各位看官,这里可不是restful的原意。REST是四个单词的首字母。Resource Representational State Transfer 的缩写,翻译成中文就是“表现层资源表述状态转移”。RESTful(REST 风格)是一种当前比较流行的互联网软件架构模式,它充分并正确地利用 HTTP 协议的特性,为我们规定了一套统一的资源获取方式,以实现不同终端之间(客户端与服务端)的数据访问与交互。
那么问题来了:为什么RESTful风格风靡一时且经久不衰,且听我慢慢道来:
下图是传统的WEB应用开发,我们可以直观的看到最终通过View渲染后以html的形式发送给浏览器。
因此引出了一个问题:那么如果我们在小程序端,app端不支持html的情况下,那么适用性就不强,这时一种全新的开发风格就产生了。这就是RESTful开发风格:
此时服务器返回的不再是渲染后的html格式,而是只返回数据,比如JSON。然后由iphone,PC等等客户端进行渲染。这也实现了前后端分离。
好了,笔者以自己认为比较通俗易懂的方式对这个开发模式进行了初步的讲解,接下来再来讲讲它的开发规范。
RESTful开发规范
- 使用URL作为用户交互入口
- 明确的语义规范(GET POST PUT DELETE)
- 只返回数据(JSON / XML),不包含任何展现
- 注意:第三点笔者在某些RESTful教程中发现并没有体现,其实是不太合适的。笔者认为那不是完全的RESTful风格。
有关资源的新增操作(PUT,DELETE)
- HTTP 协议中有四个表示操作方式的动词:
- 其中分为简单请求和非简单请求。
- 简单请求是指标准结构的HTTP请求,对应GET/POST请求
非简单请求是复杂要求的HTTP请求,指PUT/DELETE、扩展标准请求
两者最大区别是非简单请求发送前需要发送预检请求
资源操作 |
RESTFul URL |
HTTP 请求方式 |
获取资源(SELECT) |
http://localhost:8080/zjc/user/1 |
GET |
保存或新增资源(INSERT) |
http://localhost:8080/zjc/user |
POST |
修改或更新资源(UPDATE) |
http://localhost:8080/zjc/user |
PUT |
删除资源(DELETE) |
http://localhost:8080/zjc/user/1 |
DELETE |
第一部分先讲到这,下一期继续讲解。