RESTful API
RESTful API 指遵循 REST 架构约束设计的接口。REST 概念源自 Roy Fielding 2000 年的博士论文,其要义是把一切操作对象抽象为资源,并通过 HTTP 协议自带的方法表达对资源的动作,从而让接口既直观又易于与其他系统集成。
RESTful 的几项原则
- 无状态请求:服务端不记忆调用方上下文,每个请求独立可解释。
- 职责分离:表现层与服务端解耦,各自独立演进。
- 接口统一:借助标准 HTTP 方法完成对资源的各种操作。
- 可缓存结果:合理利用缓存机制提升整体效率。
- 层次化:可通过中间件灵活扩展,增强安全与吞吐。
HTTP 动词速览
- GET:只读操作,获取资源表示。
- POST:创建资源,或执行需要提交数据的动作。
- PUT:用整份表示替换目标资源。
- DELETE:删除指定资源。
- PATCH:对资源做部分字段的修改。
URI 怎么设计
推荐做法是:名词表示资源集合,单条资源用 ID 定位,动作一律由方法承担,避免在路径里出现动词。以图书为例:
GET /books:列出图书集合。GET /books/{id}:取得某一本图书。POST /books:添加一本图书。PUT /books/{id}:覆盖更新某一本图书。DELETE /books/{id}:移除某一本图书。
常见状态码
结果状态由 HTTP 状态码直接传达:
- 200 OK:请求已被正确处理。
- 201 Created:新建成功,通常伴随新资源地址。
- 204 No Content:成功且响应体为空。
- 400 Bad Request:请求格式或参数不正确。
- 401 Unauthorized:缺少有效身份凭证。
- 404 Not Found:目标资源不存在。
- 500 Internal Server Error:服务器内部出错。
小结
总体来看,RESTful API 用最小的约定换来了最大的通用性:客户端只需掌握 HTTP,就能与任何符合规范的接口协作。正是这种简单与灵活,使它成为现代 Web 应用间通信的事实标准之一。
