Projeto simples utilizando Node.js, TypeScript e Fastify para criar uma API leve e performática.
- Node.js v22+
- TypeScript
- Fastify — Framework web rápido para Node.js
- Pino Pretty — Logs formatados no console
Configuração ajustada para:
- Target:
ES2022 - Module:
nodenext - Strict mode: Ativado
- Suporte a bibliotecas
es2024e recursos ESNext
- Instalar dependências
npm install
| Método | Rota | Descrição |
|---|---|---|
| GET | / |
Retorna um objeto com a mensagem "Hello World". |
| GET | /courses |
Retorna a lista completa de cursos cadastrados. |
| GET | /courses/:id |
Busca e retorna um curso pelo seu id (UUID ou numérico), ou 404 se não encontrado. |
| GET | /courses/nanoid/:id |
Busca e retorna um curso pelo seu nanoID (gerado aleatoriamente), ou 404 se não encontrado. |
| POST | /courses |
Cria um novo curso com title enviado no corpo da requisição. Gera automaticamente id (UUID), time (timestamp) e nanoID (hexadecimal de 8 caracteres). |
Exemplos de uso podem ser encontrados no arquivo
resquisicoes.http.