新增此處描述的 API 路由:$ARGUMENTS
如果方法、路徑或行為不清楚,請在撰寫程式碼前先問一個簡短的問題。
步驟
- 讀取
src/app/api/links/route.ts、src/lib/http.ts與src/lib/links/schema.ts以比對既有模式。請勿發明新的錯誤格式。 - 將輸入驗證放在相關
src/lib/<domain>/schema.ts的 Zod 模式中,而非直接內嵌在路由中。 - 將資料存取放在
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。 - 回報:端點合約(方法、路徑、請求主體、含狀態碼的回應)以及您執行的命令及其結果。