Logo
Section 1 / 4

API 结构

让我们来看一下API的基本结构。

导入

API 结构

让我们来看一下API的基本结构。

维基百科对**应用程序编程接口(API)**的定义,本质上是规定软件组件如何通过一个公共接口相互交互的规范。虽然还存在其他类型的通信协议,例如SOAP,但本课程中不会涉及这些内容。

在开始构建API之前,我们先来看一下我们将要使用的这类API的基本结构。

数据交换格式

在与他人共享数据时,信息的呈现方式几乎只受限于人类的想象力。计算机之间的数据共享同样遵循这一原则:一台计算机必须将数据转换为另一台计算机能够理解的格式。因此,我们需要为API选择一种特定的数据格式。

Rails可以支持多达35种不同的媒体类型。在这35种格式中,我们将使用JSON。

JSON 是 JavaScript对象表示法(JavaScript Object Notation) 的缩写,它是一种以人类可读形式存储数据对象的文件格式。JSON被广泛接受,具有良好的可读性、可扩展性,并且作为互联网媒体类型标准易于实现。目前许多主流框架默认支持消费JSON格式的API,包括Angular和Vue.js。同时,也存在优秀的Objective-C类库支持,如AFNetworking或RESTKit。

好了,我们已经确定将使用JSON来构建我们的API。接下来需要考虑的是如何实现这一点。一种思路是直接添加路由来定义端点。但这种方法可能存在缺陷,因为这样定义的URI模式可能不够清晰,难以判断暴露的是哪个资源。

API架构

我们将采用的协议是REST,即表述性状态转移(Representational State Transfer)。一个符合REST风格的API至少需要遵循以下三个基本准则:

  • 拥有一个基础URI:统一资源标识符(URI)是一串唯一字符,用于标识Web技术所使用的资源,例如 http://example.com/resources/。

  • 使用互联网媒体类型来表示数据——通常为JSON——并通过请求头交换进行设置。

  • 遵循标准的HTTP方法,如 GET、POST、PUT 和 DELETE。这些方法的具体含义如下:

    ◦ GET:读取由URI模式定义的资源。

    ◦ POST:在资源集合中创建一个新的条目。

    ◦ PUT:更新资源集合或其中的某个成员。

    ◦ DELETE:删除资源集合或其中的某个成员。

![REST架构](http://network.jancsitech.net:9000/pageflux-ai/images/general/202509/1758017835385446695.svg "REST architecture" width="600" height="400")

本课的内容可能看起来信息量较大,不易一下子完全消化,但请不必担心!随着课程的推进,这些概念会逐渐变得清晰易懂。

开始学习

路由约束与命名空间