1. Rest是啥
Rest是一种软件架构设计的风格,注意它并不是一种强制约定。
举个例子,我们在变量命名是,可以采用驼峰命名法userName,也可以采用全部首字母大写UserName,也可以采用下划线分割user_name,也可以采用汉语拼音简写风格yhm(用户名首字母)。
这些不同的写法,其实本身并没有优劣之分,但是遵循了不同的设计风格。
OK,那么Rest是啥风格呢,Rest风格及通过URL地址+HTTP动词来操作资源进行增删改查等操作。
URL地址不用说了,此处可以理解为web服务的地址。
HTTP动词就是即为常见的GET,POST,PUT,DELETE。
2. Restful是啥
Rest是一种风格,Restful是指遵循Rest风格的web服务,即web程序提供的遵循Rest风格的API接口。
举个简单例子,还是以之前博客增删改查为例,设计为Resutful即为:
http://127.0.0.1/myblog/blog/1 GET 查询博客(id=1)信息
http://127.0.0.1/myblog/blog GET 查询博客列表信息
http://127.0.0.1/myblog/blog POST 新增博客
http://127.0.0.1/myblog/blog/1 PUT 修改博客(id=1)信息
http://127.0.0.1/myblog/blog/1 DELETE 删除博客(id=1)
3. Restful的用途(意义)
那么Restful这种设计有啥用捏,注意其实它就是一种规范,虽然不强制,但用这种规范的人很多啊,而且很多大厂也在用。
说白了各家公司、各家公司各个开发人员、都有自己的习惯,当然自家开发程序,其实怎么弄都无所谓了,只要符合一种规范团队内共享就行。
但是当你要提供API接口给第三方时,或者与第三方一起开发一个项目时,如果没有一个规范那沟通成本可太高了。
所以有一个大家共同知道的,都可以去遵守的规范,这个意义就出来了。
而这,就是Restful的意义!
为了避免麻烦,还是建议大家在开发项目的web接口的时候,尽量的遵守Restful规范。
4. 补充说明
还有一点是我也看了一些大牛的博客和书籍,其实很多人在做项目的时候也不是完全遵循Rest风格的,即便是鼎鼎大名的微信公众号等产品的开放接口,很多也没有完全遵循Rest风格。主要是完全遵循的话,有时候确实比较繁琐。所以后续我只能说尽量遵循吧,你懂得。
5. 计划
Spring Restful这一篇遵循之前的惯例,先用xml实现一个Spring Restful实例,因为实际上Spring Restful应用也是一个SpringMVC,所以将xml配置改为注解配置的过程与SpringMVC部分介绍的几乎一致,所以此处不再单独讲解注解配置Spring Restful的实例了。
因为Restful经常会用于第三方接口调用,我们会演示在客户端使用RestTemplate访问Restful接口。
最后,我们会将之前的博客项目改为前后端分离的,前端采用Bootstrap+jQuery,后端使用Spring Restful的项目,兄弟们会惊喜的发现,不用JSP,是如此的爽快啊。
PS:前端框架选择jQuery是因为jQuery大家应该都会吧,还是本着尽可能大家都能成为受众的原则,而且前端这块我本身学的也不深入。目前工作中用的最多的是vue,后续如果有机会可以跟大家交流下vue的使用。