RESTful代表:
https://api.github.com/
RESTful就是用最简单的方法解决问题,降低实施复杂度
一、RESTful解决的是什么问题?
Restful是一种设计思想或者说是设计风格。RESTful解决的是希望为PC Web,iOS和Android等等多屏多平台场景下的开发架构提供一套统一的标准,简单来说就是给多屏场景下的开发架构一个标准。
二、RESTful的核心理念?
REST全称: Resource Representational State Transfer:资源在网络中以某种表现形式(Json)状态传输(http状态)。
Resource:资源。比如 数据对象等;
Representational:表现形式,比如用JSON,XML,JPEG等;
State Transfer:状态传输。通过HTTP动词(getputPostDelete)传输,根据http状态做判断。
三、RESTful标准实施
基本思想:
1、uri即资源;协议使用http或https;
2、动词既是对资源的操作
3、接口要HATEOAS化;官方解释:当你通过URL访问一个REST应用的时候,服务端会返回资源本身外,还应该返回该资源的后续操作。形成一个完整的操作链;
另外link是根据对象的变化而动态变化的;例如:账户已经透支;那么后续操作只能存钱,就只返回一个存钱的link
其他标准化
如:
· 协议标准化;如只使用https
· url标准化;如访问所有对象都采用标准url格式:api.example.com/版本/对象类型
· 动词操作标准化;对象的操作标准;
· 参数标准化;过滤条件的传参方法,如?key=value形式的
· 状态信息标准化;
这里面有一个特别容易混淆的,操作动词与操作逻辑;
1、操作动词;最原始的是类似与GET/POST是放在http请求中的;
2、操作逻辑是写在代码中的;比如上面对个人账户的;【转账】【冻结】【删除】等逻辑操作
文档: