欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

RESTful API的理解

程序员文章站 2022-03-26 22:55:06
技术交流的时候遇到了这样的一个问题,被问及开发中用到的是不是Restful API,我说的是,我们现在用到的不属于完全是Restful API。因为我了解到的Restful API,是 通过具体的URI定位符,找到对应的资源,然后以固定的格式返回数据,这样的才是Restful API。然而在我模糊的 ......

技术交流的时候遇到了这样的一个问题,被问及开发中用到的是不是Restful API,我说的是,我们现在用到的不属于完全是Restful API。因为我了解到的Restful API,是 通过具体的URI定位符,找到对应的资源,然后以固定的格式返回数据,这样的才是Restful API。然而在我模糊的表达中,对方听出来的是,我现在开发的API依然属于Restful API。那么什么才是真正的Restful API呢,今天我想好好总结一下。(之前学习东西总是,用到了就去搜索,然后很少总结,类似这种不影响我开发的概念性东西,只是大致搜索后,有了了解,不求甚解的。现在看来还是有必要弄的更清楚的,因为在讨论的时候,容易出现偏差,描述不清楚,对于学习其他知识的时候也是不利的。) 
此处说明一下,我看到的是如何使用Retrofit请求非Restful API,这个让我理解了什么不是RESTful API,结果是不对的。不过不要紧,这篇博客的重点不是这个。

什么是REST?

可以总结为一句话:REST是所有Web应用都应该遵守的架构设计指导原则。 
Representational State Transfer,翻译是”表现层状态转化”。 
面向资源是REST最明显的特征,对于同一个资源的一组不同的操作。资源是服务器上一个可命名的抽象概念,资源是以名词为核心来组织的,首先关注的是名词。REST要求,必须通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操作。(7个HTTP方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS)

什么是RESTful API?

符合REST架构设计的API。

总结

符合REST设计标准的API,即RESTful API。REST架构设计,遵循的各项标准和准则,就是HTTP协议的表现,换句话说,HTTP协议就是属于REST架构的设计模式。比如,无状态,请求-响应。。。

参考: 
理解本身的REST架构风格 
http://www.infoq.com/cn/articles/understanding-restful-style/

理解RESTful架构 
http://www.ruanyifeng.com/blog/2011/09/restful.html

Restful API设计指南 
http://www.ruanyifeng.com/blog/2014/05/restful_api.html