🏠 首页 攻略 REST API是什么?互联网上最流行的接口设计规范

REST API是什么?互联网上最流行的接口设计规范

REST API是现代Web开发的基石。几乎所有你用的App、网站背后都有REST API在默默工作。本文用点外卖的场景,带你搞懂REST的核心思想、四大操作和实际用法。

REST API到底是什么?用餐厅点餐来理解

你去餐厅吃饭,服务员不会钻进厨房告诉你怎么做菜。你只需要告诉服务员三件事:点什么菜、给谁吃、怎么做法。厨房负责做菜,服务员负责传递信息。

REST API 就是互联网世界的「服务员」——它让前端页面和后端数据库之间能好好说话,互不干扰。

REST 全称是 Representational State Transfer(表述性状态转移),听起来很唬人,但核心思想就一句话:用统一的方式操作资源

资源就是互联网上的任何东西——一篇文章、一个用户、一张图片、一条订单。REST 规定了你只能对资源做四种操作:看、新建、改、删。就这么简单。

REST 的四大基本操作

REST 把一切操作归纳为四个 HTTP 方法,对应 CRUD(增删改查):

操作HTTP 方法URL 示例说明
查看GET/api/users/123获取某个用户的信息
新建POST/api/users创建新用户
修改PUT/PATCH/api/users/123更新用户资料
删除DELETE/api/users/123删除这个用户

举个例子。假设你在做一个博客平台,REST API 会这样设计:

GET    /api/posts        → 列出所有文章
GET    /api/posts/42     → 查看第42篇文章
POST   /api/posts        → 写一篇文章
PUT    /api/posts/42     → 修改第42篇文章
DELETE /api/posts/42     → 删除第42篇文章

看到规律了吗?URL 表示资源,HTTP 方法表示操作。这就是 REST 最优雅的地方。

REST 长什么样?实际请求长这样

用 curl 发一个 REST 请求,就这么简单:

# 查看所有文章
curl https://api.example.com/api/posts

# 创建新文章
curl -X POST https://api.example.com/api/posts \
  -H "Content-Type: application/json" \
  -d '{"title":"我的第一篇","body":"Hello World"}'

后端收到请求后,会返回类似这样的 JSON 响应:

{
  "id": 42,
  "title": "我的第一篇",
  "body": "Hello World",
  "created_at": "2026-07-25T07:30:00Z"
}

配合前面讲的 JSON 百科,你会发现 REST API 的数据传输全靠 JSON 搬运。

REST 为什么这么流行?

简单直观

不用学新的协议,不需要额外的工具。只要会发 HTTP 请求,就会用 REST API。浏览器能发的请求,curl 能发,Python 的 requests 能发,任何语言都能发。

前后端分离

前端只管界面渲染,后端只管数据处理。两边通过 REST API 通信,各干各的,互不影响。这也是为什么现在大部分 App 都采用这种架构。

缓存友好

GET 请求天然适合缓存。浏览器、CDN、代理服务器都可以缓存你的 API 响应,大幅提升速度。

生态成熟

从 Postman 到 Swagger,从 Axios 到 Fetch API,整个开发工具链围绕 REST 构建。你遇到的问题,大概率已经有人解决过了。

新手常见的坑

坑一:用 POST 干所有事

有些开发者懒得区分方法,所有请求都用 POST。虽然技术上可行,但 REST 的精髓就在于用正确的方法表达意图。用错了方法,代码可读性会差很多。

坑二:URL 里带动词

/api/getUsers/api/deletePost 这种设计不是 RESTful。REST 要求 URL 只描述资源,动作交给 HTTP 方法。正确写法是 GET /api/usersDELETE /api/posts/42

坑三:忽略错误码

REST 利用 HTTP 状态码传达结果。200 表示成功,404 表示找不到,401 表示未授权,500 表示服务器出错。别把所有东西都塞进 200 里,那样调试起来会非常痛苦。

实际应用场景

场景一:手机 App 的背后

你打开微博刷动态,App 本身只是一个空壳。真正的数据来自 REST API——后端把文章、评论、点赞数打包成 JSON 发给你的 App。没有 REST API,就没有现代移动互联网。

场景二:第三方服务集成

你想在自己的网站上显示天气预报?大多数天气服务商都提供 REST API。你发一个 GET 请求,对方返回 JSON 格式的天气预报数据。这就是为什么你能在很多网站上看到实时天气。

场景三:微服务之间的通信

大型系统拆分成多个小服务后,服务之间也靠 REST API 互相调用。支付服务通知订单服务「付款成功了」,推荐服务拉取用户历史行为数据——全是通过 REST API 完成的。

总结

REST API 的本质就是用 HTTP 协议来操作互联网上的资源。记住四个字就够了:URL 是名词,方法是动词

它不需要你学新语言,不需要装新工具。会发 HTTP 请求,就会用 REST。对于刚接触后端开发的人来说,理解 REST 比理解框架重要得多。

想亲手试试?打开浏览器的开发者工具,Network 面板里看到的每一个请求,很可能就是一个 REST API 调用。

相关工具推荐

navbox 上提供了多款 API 调试工具,帮你快速上手 REST:

工具用途
API 测试工具在线发送 HTTP 请求,查看响应
JSON 格式化工具美化 API 返回的 JSON 数据
HTTP 状态码查询快速查询各种 HTTP 状态码含义
Curl 命令生成器可视化生成 curl 请求命令