技术交流的时候遇到了这样的一个问题,被问及开发顶用到的是不是Restful API,我说的是,我们此刻用到的不属于完全是Restful API。因为我了解到的Restful API,是 通过具体的URI定位符,找到对应的资源,然后以固定的格局返回数据,这样的才是Restful API。然而在我模糊的表达中,对方听出来的是,我此刻开发的API依然属于Restful API。那么什么才是真正的Restful API呢,今天我想好好总结一下。(之前学习对象总是,用到了就去搜索,然后很少总结,类似这种不影响我开发的观点性对象,只是大抵搜索后,有了了解,生吞活剥的。此刻看来还是有须要弄的更清楚的,因为在讨论的时候,容易呈现偏差,描述不清楚,对付学习其他常识的时候也是倒霉的。)
此处说明一下,,我看到的是如何使用Retrofit请求非Restful API,这个让我理解了什么不是RESTful API,功效是不同错误的。不过没关系,这篇博客的重点不是这个。
可以总结为一句话:REST是所有Web应用都应该遵守的架构设计指导原则。
Representational State Transfer,翻译是”表示层状态转化”。
面向资源是REST最明显的特征,对付同一个资源的一组差此外操纵。资源是处事器上一个可定名的抽象观点,资源是以名词为核心来组织的,首先存眷的是名词。REST要求,必需通过统一的接口来对资源执行各类操纵。对付每个资源只能执行一组有限的操纵。(7个HTTP要领:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS)
切合REST架构设计的API。
总结切合REST设计标准的API,即RESTful API。REST架构设计,遵循的各项标准和准则,就是HTTP协议的表示,换句话说,HTTP协议就是属于REST架构的设计模式。好比,无状态,请求-响应。。。
参考:
理解自己的REST架构气势派头
理解RESTful架构
Restful API设计指南