Introdução: Por que TypeScript para REST API?
O desenvolvimento web moderno é impensável sem a criação de APIs eficientes e seguras. TypeScript, como uma extensão do JavaScript, oferece tipagem estática, o que reduz significativamente o número de erros durante a execução e melhora a legibilidade do código. Neste guia, mostraremos como escrever uma REST API completa em TypeScript em apenas 30 minutos. Você aprenderá como configurar o projeto, criar endpoints básicos e tratar erros. Este tutorial é ideal para desenvolvedores iniciantes que desejam aprender rapidamente a criar aplicações server-side.
Configuração do ambiente e instalação de dependências
Primeiramente, é necessário criar um novo projeto e instalar todos os pacotes necessários. Certifique-se de ter Node.js (versão 18 ou superior) e npm instalados.
Passo 1: Inicialização do projeto
Abra o terminal e execute os seguintes comandos:
mkdir my-rest-api
cd my-rest-api
npm init -y
Passo 2: Instalação do TypeScript e dependências
Instale TypeScript, Express e os tipos necessários:
npm install express
npm install -D typescript @types/node @types/express ts-node nodemon
- express — framework para criação do servidor.
- typescript — compilador TypeScript.
- @types/express — tipos para Express.
- ts-node — para executar TypeScript diretamente.
- nodemon — reinicialização automática do servidor em caso de alterações.
Passo 3: Configuração do tsconfig.json
Crie o arquivo tsconfig.json na raiz do projeto:
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
Criação do servidor básico em TypeScript
Agora vamos criar a estrutura de pastas e o arquivo principal do servidor.
Passo 4: Estrutura do projeto
Crie a pasta src e o arquivo src/index.ts:
mkdir src
touch src/index.ts
Passo 5: Escrevendo o servidor
Abra src/index.ts e adicione o seguinte código:
import express, { Request, Response } from 'express';
const app = express();
const PORT = process.env.PORT || 3000;
// Middleware para parsing de JSON
app.use(express.json());
// Rota básica
app.get('/', (req: Request, res: Response) => {
res.send('REST API em TypeScript está funcionando!');
});
// Inicialização do servidor
app.listen(PORT, () => {
console.log(`Servidor rodando na porta ${PORT}`);
});
Passo 6: Adicionando scripts ao package.json
Atualize o package.json adicionando scripts para desenvolvimento e build:
"scripts": {
"dev": "nodemon --exec ts-node src/index.ts",
"build": "tsc",
"start": "node dist/index.js"
}
Agora inicie o servidor com o comando npm run dev. Você deve ver a mensagem "Servidor rodando na porta 3000".
Implementação de endpoints CRUD
Vamos criar um modelo de dados simples e implementar as operações de criação, leitura, atualização e exclusão (CRUD). Como exemplo, usaremos a entidade "Tarefa" (Task).
Passo 7: Criação do modelo e armazenamento
Crie o arquivo src/models/Task.ts:
export interface Task {
id: number;
title: string;
completed: boolean;
}
// Armazenamento temporário em memória
export const tasks: Task[] = [
{ id: 1, title: 'Estudar TypeScript', completed: false },
{ id: 2, title: 'Escrever REST API', completed: false },
];
Passo 8: Criação das rotas
Crie o arquivo src/routes/tasks.ts:
import { Router, Request, Response } from
```