Adicione a rota de API descrita aqui: $ARGUMENTS
Se o método, caminho ou comportamento não estiver claro, faça uma pergunta curta antes de escrever o código.
Etapas
- Leia
src/app/api/links/route.ts,src/lib/http.tsesrc/lib/links/schema.tspara corresponder aos padrões existentes. Não invente um novo formato de erro. - Coloque a validação de entrada em um esquema Zod no arquivo relevante
src/lib/<dominio>/schema.ts, e não inline na rota. - Coloque o acesso a dados em
src/lib/<dominio>/store.ts. O manipulador de rota apenas analisa, chama o armazenamento, e mapeia os resultados para as respostas. - Crie
src/app/api/<caminho>/route.ts:export const dynamic = "force-dynamic";- JSON malformado →
errorResponse(400, "invalid_json") ZodError→validationError(err)- Não encontrado →
errorResponse(404, "not_found") - Segmentos dinâmicos:
{ params }: { params: Promise<{ id: string }> }eawait params.
- Escreva
route.test.tsao lado da rota. UseuseTempDataFile()de@/test/temp-data-filee chame os manipuladores exportados comnew Request(...). Cubra: sucesso, cada classe de falha de validação, não encontrado e JSON malformado onde um corpo é aceito. - Execute
npx vitest run <o novo arquivo de teste>, depoisnpm run check, depoisnpm run build. - Relate: o contrato do endpoint (método, caminho, corpo da requisição, respostas com códigos de status) e os comandos que você executou com seus resultados.