RESTful

 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、操作逻辑是写在代码中的;比如上面对个人账户的;【转账】【冻结】【删除】等逻辑操作

文档:

http://www.ruanyifeng.com/blog/2014/05/restful_api.html

原文地址:https://www.cnblogs.com/xmai/p/7403567.html