术语表
REST
REST(Representational State Transfer,表述性状态转移)是一种基于 HTTP、URI 以及 XML 等现有网络标准的应用系统架构风格。它能够降低开发复杂度,提高系统可伸缩性。
REST 的核心是可编辑的资源及其集合。每个资源或集合都拥有唯一的 URI 标识。系统以资源为中心,构建并提供一系列的 Web 服务。其基本原则包括:
- 所有事物都被抽象为资源
- 每个资源对应唯一的资源标识
- 对资源的操作不会改变资源标识本身
- 所有的操作都是无状态的
REST API
REST API 是一组可独立寻址的资源(API 中的名词)的集合。每个资源通过其资源名称被引用,并通过一组方法(也称为动词或操作)进行操作。
RESTful
当一个应用程序遵循 REST 架构风格的约束时,我们称其为 RESTful 应用。这是对符合 REST 架构原则的非正式描述。
资源
面向资源的 API 通常构建为资源层次结构,其中每个节点可以是:
简单资源:独立的资源实体集合资源:相同类型的资源列表
资源的特点:
- 集合资源包含同类型的资源列表(如:用户的联系人列表)
- 单个资源可以包含状态信息和多个子资源
- 子资源可以是简单资源或集合资源
示例:在 Issue 集合中,每个 Issue 资源包含:
- Issue 属性
user,发起 Issue 的用户资源assignee,跟进 Issue 的用户资源milestone,Issue 所属的里程碑资源labels,标签资源集合
API 版本
API 版本用于标识一个接口或一组接口的特定版本。版本号通常:
- 使用字符串表示(如:"v1")
- 在 API 请求 URL 中显示
- 在 Protocol Buffers 包名称中体现
版本控制确保 API 的向后兼容性,并允许 API 进行演进而不影响现有客户端。