全书目录

第四十篇:SolidStart 完全指南 —— 精细反应街区宇宙

第十四章:API Routes —— 有时候你还是需要正经街道出口

1 分钟 204 字 第 784 / 962 个阅读单元

虽然 server functions 很方便,但它们不是一切。

如果你要:

  • 给外部系统开放接口
  • 写 webhook
  • 做 OAuth callback
  • 返回 PDF / 图片 / JSON
  • 提供 GraphQL / tRPC 端点

那就该上 API routes。

tsx
import type { APIEvent } from "@solidjs/start/server";

export async function GET({ params }: APIEvent) {
  const shop = await db.shop.get(params.id);
  return shop;
}

export async function POST(event: APIEvent) {
  const body = await event.request.json();
  await db.shop.create(body);
  return new Response("ok");
}

它和 UI route 的差异是:

  • UI route 默认导出组件
  • API route 导出 HTTP method 函数

所以心智上很简单:

text
UI route = 这条街是给人逛的
API route = 这条街是给系统车辆通行的