Route Handler
GET/POST/PUT/DELETE 四方法端点;Route Handler 与页面取数相互独立,各自直连外部服务避免构建期自调用
调用 /api/basic
端点见 app/api/basic/route.ts;点击方法按钮发起真实请求
三条取数通道怎么选
先问调用方是不是浏览器里的这个页面
| 调用方 | 用什么 | 不要用什么 |
|---|---|---|
| 本站页面,渲染时就要数据 | Server Component 里直接取 | 再 fetch 自己的 /api。构建期会连不上自己 |
| 表单修改服务端数据 | Server Action | 为了页面自己再手写一个 POST |
| 别的客户端、webhook、要流式字节 | Route Handler | Server Action。它不是公开的 HTTP 契约 |
| 水合之后才变的会话数据 | SWR,见客户端取数专题 | 把整页改成 Client 再自己 fetch |
Route Handler 什么时候该存在
它是「对外的 HTTP 界面」,不是页面取数的必经层
- 给第三方/移动端/webhook 提供 HTTP API → 必须 Route Handler
- 页面自己的数据 → Server Component 里直接取,不要再绕一圈 fetch 自己的 API(构建期还会 ECONNREFUSED)
- 需要流式响应(SSE/逐 token)→ Route Handler 返回 ReadableStream,见 AI-Native 分类
- 改变服务端数据 → 优先评估 Server Actions,而不是手写 POST 端点