REST 把每个 URL 当作一个资源:GET /users 取列表、POST /users 新建、GET /users/123 取单个资源、PUT/PATCH 更新、DELETE 删除。结果用 HTTP 状态码表达:200 成功、201 已创建、400 参数错误、401 未认证、404 不存在、500 服务器异常。无状态是它的核心约束,每个请求都必须自带身份信息。
在 Node 里实现 REST 一般分三层:Express 路由按动词分发,中间件负责解析请求体与鉴权,处理器调用业务逻辑后返回 JSON。设计上的要点:路径用名词复数、统一加版本前缀、列表接口带分页与筛选参数。相比 GraphQL,REST 更贴合 HTTP 语义,也更容易被网关与浏览器缓存治理。
const express = require('express'); const app = express(); app.use(express.json()); let users = [{ id: 1, name: 'alice' }]; // GET 取列表 app.get('/api/v1/users', (req, res) => res.json(users)); // POST 新建(返回 201) app.post('/api/v1/users', (req, res) => { const user = { id: users.length + 1, name: req.body.name }; users.push(user); res.status(201).json(user); }); app.listen(3000);