GitHub API很棒。 同时非常方便和简单。 一眼就适合REST风格。 但是实际上呢? 为什么呢?
只是为了回顾一下, REST
具有开发人员应该遵循的某些属性,以使其成为RESTful
:
根据维基百科:
REST架构样式描述了以下六个应用于架构的约束,同时使各个组件的实现可以自由设计:
- 客户端服务器:服务器不关心用户界面或用户状态,因此服务器可以更简单,更可扩展。
- 无状态:客户端与服务器之间的通信受到请求之间没有存储在服务器上的客户端上下文的进一步限制。
- 可缓存的:响应必须隐式或显式地将自身定义为可缓存的,以防止客户端响应其他请求而重用陈旧或不适当的数据。
- 分层系统:客户端通常无法确定它是直接连接到最终服务器还是中间连接。 中间服务器可以通过启用负载平衡和提供共享缓存来提高系统可伸缩性。
- 按需代码(可选):服务器可以通过传输可执行代码来临时扩展或定制客户端的功能。
- 统一接口:下文讨论的客户端和服务器之间的统一接口简化并分离了体系结构,从而使每个部分都可以独立发展。 (即HTTP GET,POST,PUT,PATCH,DELETE)
因此,说了这么多,看一下链接到的Github API文档的目录,我看到的是满足统一接口要求“ endpoint”的“动词”,它通过api.github.com
,表示它是一个分层系统,它提供一些满足“按需编码”部分的json-p回调,在使用任何动词之前有一个“身份验证”机制,因此它是无状态的,因此可以缓存,因为这是典型的架构类型以及所有这些,您已经具有REST API的大多数特征。
是。 其RESTful 足以被称为REST API。
我认为这是RESTful风格。
但是为什么github使用第一样式?
也许RESTful不是标准。