RESTful API

RESTful API 是以 REST 架构风格为基础的应用接口。REST 由 Roy Fielding 在博士论文中系统阐述,主张将服务能力组织成资源,让每次交互都依托 HTTP 完成,天然具备无状态、可缓存、易扩展等优点,因此成为系统间数据交换的主流选择。

RESTful API 遵循什么

  • 无状态交互:请求自带上下文,服务端不做会话记录。
  • 客户端与服务器解耦:界面与逻辑相互独立,互不影响升级。
  • 统一方法语义:GET/POST/PUT/DELETE 等动词表达明确动作。
  • 结果可缓存:提高响应速度并减轻服务端压力。
  • 支持分层部署:可叠加代理、网关等中间层。

HTTP 动词对照

  • GET:读取资源内容,属于安全操作。
  • POST:用于新建资源或提交数据。
  • PUT:整体更新资源。
  • DELETE:删除资源。
  • PATCH:局部更新资源字段。

资源路径示例

URL 中只放资源路径,方法决定动作类型,这是区分 REST 风格的关键。典型例子:

  • 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 方法表达,状态靠状态码传达。凭借这些简洁约定,它能支撑从小项目到大型系统的各种集成需求。