SuperAPI AI 工具集

tanstack-start-client-core-start-core-server-routes

编程与开发

查看项目

更新于 10-16 00:02

技能介绍

用途:在 TanStack Start 应用中,于 src/routes 目录内定义服务端 API 端点(Server Routes),处理原始 HTTP 请求。当调用方需要 HTTP 契约时使用;若数据仅供 Start 应用自身使用,优先用 server function 并在 loader 中直接调用,因为 loader 在 SSR 与客户端导航时都会运行,fetch('/api/...') 不是可移植的 loader 写法。

主要能力:通过 createFileRoute 的 server.handlers 定义 GET、POST、PUT、DELETE 等 HTTP 方法处理器;同一文件可同时定义服务端路由与 UI 路由;支持动态路径参数(params.id)、通配参数(params._splat)、请求体解析(request.json()、request.text()、request.formData())、Response.json 返回 JSON、自定义状态码与响应头。处理器上下文包含 request、params、context、pathname、next。

中间件:可在 server.middleware 为所有处理器统一挂载,也可用 createHandlers 为特定方法单独配置,两者可组合,路由级中间件先执行。

文件路由约定:routes/users.ts 对应 /users,routes/users/$id.ts 对应 /users/$id,routes/api/file/$.ts 为 splat,routes/my-script[.]js.ts 表示转义点号。每个路由只能有一个处理器文件,routes/users.ts 与 routes/users/index.ts 会冲突。

限制与常见错误:必须为读写私有数据的每个处理器做认证与授权,router 的 beforeLoad 重定向不能保护 /api/...;不要忘记 await 请求体方法;TypeScript 类型不能替代响应 schema 校验,需在服务端路由边界断言序列化输出;不要让 SSR loader 调用自身 server route,应把业务逻辑放入 server-only 服务再分别暴露。

其他事实(如具体版本、收费、平台支持)暂未提供。