在这个前后端分离(前端和后端均为独立的应用,只通过API/接口通信)成为应用编程主流的时代,RESTful 规范(REST全称是:Representational State Transfer)应该是程序员必须掌握的API/接口设计规范。

RESTful 规范是一种基于 HTTP 协议设计网络接口的架构风格,旨在构建可扩展清晰易于理解的 Web 服务。
其核心思想是将资源作为中心,通过标准的 HTTP 方法对资源进行操作,强调无状态通信和统一接口。

RESTful 规范的核心要点

  1. 资源定位:使用 URI(统一资源标识符)唯一标识资源,例如/users表示用户资源集合,/users/123表示 ID 为 123 的具体用户。

  2. HTTP 方法语义:通过标准 HTTP 方法表达对资源的操作:

    • GET:获取资源(查询)
    • POST:创建新资源
    • PUT:更新资源(全量更新)
    • PATCH:部分更新资源
    • DELETE:删除资源
  3. 无状态:服务器不存储客户端状态,每次请求需包含所有必要信息。

  4. 响应格式:通常使用 JSONXML 作为数据交换格式,并通过 HTTP 状态码表达请求结果(如 200 表示成功,404 表示资源不存在)。

  5. 可缓存:支持 HTTP 缓存机制,减少重复请求。

  6. 层级结构:资源可通过 URI 形成层级关系,如/users/123/orders表示用户 123 的订单。

RESTful 规范的样例

以 “用户管理系统” 为例,我们可以设计一组符合 RESTful 规范的 API,通过 HTTP 方法和 URI 的组合来操作 “用户” 资源:

操作目的 HTTP 方法 URI 示例 说明 成功响应状态码
获取所有用户 GET /api/users 返回用户列表 200 OK
获取单个用户 GET /api/users/1001 返回 ID 为 1001 的用户详情 200 OK
创建新用户 POST /api/users 请求体携带新用户信息,创建后返回结果 201 Created
全量更新用户 PUT /api/users/1001 请求体携带完整用户信息,覆盖原有数据 200 OK
部分更新用户 PATCH /api/users/1001 仅更新请求体中指定的字段(如邮箱) 200 OK
删除用户 DELETE /api/users/1001 删除 ID 为 1001 的用户 204 No Content

URI 的核心是标识 “资源”,而多数资源在系统中是以 “集合” 形式存在的,所以这里使用users。


🪐祝好运🪐