关于RESTful
什么是前后端分离? 什么是REStful?
什么是前后端分离? 优势是什么?
后端只负责提供数据接口,不再渲染模版,前端获取数据并呈现。
- 前后端解藕,接口复用(前端和客户端公用接口 ), 减少开发量。
- 前后端各司其职,同步开发,提升工作效率。定义好接口规范。
- 更方便调试(mock)、测试和运维部署。 (比如测试的话,只需要测试json格式的数据,比验证html代码要方便的多)
什么是RESTful?
全称是 Representational State Transfer 中文:表现层状态转移 由HTTP协议的主要设计者Roy Fielding提出。
- 三个主要概念: 资源(Resources), 表现层(Representation), 状态转化(State Transfer)
- 一种以资源为中心的web软件架构风格, 可以用Ajax和RESTful web服务构建应用,
- 资源(Resources): 使用URI指向一个实体。 (一个用户,一个音乐,一个订单)
- 表现层(Representation): 资源的表现形式,比如图片、HTML文本等。
- State Transfer(状态转化):GET、POST、PUT、DELETE等 HTTP动词来操作资源,实现资源的状态的转变。
设计概念和准则
- 所有的事物抽象为资源(resources),资源对应唯一的标识(identifier)
- 资源通过接口进行操作实现状态转移,操作本身是无状态的。
- 对资源的操作不会改变资源的标识。
什么是RESTful API
RESTful风格的API接口
- 通过HTTP GET/POST/PUT/DELETE 获取/新建/更新/删除 资源 把HTTP动词语义和数据库的增上改查结合起来了。
- 通过JSON格式返回数据
- 流行的web 框架都有对应的插件支持RESTful API
如何设计RESTful API呢?