前言
在SpringMVC架构上进行开发,开发者一直在使用jsp、valocity或者其他页面模版作为表现层面,前端工程师需要将设计师的设计图转换为静态的html页面,然后交付给后端将静态的html页面转换为页面模版、数据的显示、页面的js基本都是由后端工程师去实现。
更糟糕的是,将数据渲染到页面模版上时,往往都会出现排版、样式错乱的情况,需由后端工程师自己调试,或请前端工程师在后端的开发环境进行调试,这样降低了开发效率,所以越来越多的互联网公司开始进行了前后端分离。
前后端分离的好处:后端接口只需要出一套统一的Restful接口,就可以适配多个客户端、web页面、ios设备、Android设备、PC、微信公众号、微信小程序等。
Restful统一接口
什么是REST
rest是Representational State Transfer三个单词的缩写,由Roy Fielding于2000年论文中提出的一种web软件结构风格,注意它仅仅只是代表着一种风格,并不代表着约束、标准。基于REST构建的API就是Restful风格。
REST架构风格的设计原则
客户端-服务器(Client-Server)客户端-服务器结构限制的目的是将客户端和服务器端的关注点分离。将用户界面数据存储所关注的逻辑分离开来有助于提高用户界面的跨平台的可移植性,通过简化服务器模块也有助于服务器模块的可扩展性
无状态(Stateless)服务器不能保存客户端的信息每一次从客户端发送的请求中, 要包含所有的状态信息, 会话信息由客户端保存, 服务器端根据这些状态信息来处理请求。服务器可以将会话状态信息传递给其他服务, 比如数据库服务, 这样可以保持一段时间的状态信息, 从而实现认证功能。当客户