ここに説明されている API ルートを追加します: $ARGUMENTS
メソッド、パス、または動作が不明な場合は、コードを書く前に短い質問を 1 つ行ってください。
手順
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に配置してください。ルートハンドラは、パース、ストアの呼び出し、結果のレスポンスへのマッピングのみを行います。 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を実行してください。- 報告: エンドポイント契約 (メソッド、パス、リクエストボディ、ステータスコード付きレスポンス) と、実行したコマンドとその結果。