添加此处描述的 API 路由:$ARGUMENTS
如果方法、路径或行为不清楚,在编写代码前先提一个简短的问题。
步骤
- 阅读
src/app/api/links/route.ts、src/lib/http.ts和src/lib/links/schema.ts,以匹配现有模式。不要发明新的错误格式。 - 将输入验证放在
src/lib/<domain>/schema.ts的 Zod schema 中,而不是内联在路由里。 - 将数据访问放在
src/lib/<domain>/store.ts中。路由处理器仅负责解析、调用 store,并将结果映射为响应。 - 创建
src/app/api/<path>/route.ts:export const dynamic = "force-dynamic";- 畸形 JSON →
errorResponse(400, "invalid_json") ZodError→validationError(err)- 未找到 →
errorResponse(404, "not_found") - 动态段:
{ params }: { params: Promise<{ id: string }> }和await params。
- 在路由旁边编写
route.test.ts。使用@/test/temp-data-file中的useTempDataFile(),并用new Request(...)调用导出的处理器。覆盖:成功、每种验证失败类、未找到、以及接受请求体时的畸形 JSON。 - 运行
npx vitest run <新的测试文件>,然后npm run check,然后npm run build。 - 报告:端点约定(方法、路径、请求体、带有状态码的响应)以及你运行的命令及其结果。