关于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呢?