Como escrever uma API REST em TypeScript em 30 minutos: para iniciantes

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução

O desenvolvimento web moderno é impensável sem uma API REST. É a base sobre a qual são construídos aplicativos móveis, frontends SPA e microsserviços. Se você é iniciante e quer aprender rapidamente a criar um backend, a combinação TypeScript + Express é o ponto de partida ideal. O TypeScript adiciona tipagem estrita ao JavaScript, tornando o código mais confiável e compreensível, especialmente ao trabalhar em equipe.

Neste guia, em 30 minutos, criaremos uma API REST completa para gerenciar uma lista de tarefas (Todo list). Você aprenderá a configurar o projeto, descrever modelos de dados, criar rotas e conectar um banco de dados. Nenhuma teoria desnecessária — apenas prática e código pronto para execução.

Pressupõe-se que você já tenha Node.js (versão 18+) e npm instalados. Caso contrário, baixe-os do site oficial.



1. Preparação do projeto e instalação de dependências

Vamos começar inicializando um novo projeto TypeScript. Abra o terminal e execute os comandos:

mkdir my-todo-apicd my-todo-apinpm init -y

Agora, instale os pacotes necessários:

npm install expressnpm install -D typescript @types/node @types/express ts-node nodemon

Crie o arquivo de configuração do TypeScript:

npx tsc --init

No arquivo tsconfig.json, certifique-se de que as seguintes linhas estejam descomentadas e configuradas:

{  "compilerOptions": {    "target": "ES2020",    "module": "commonjs",    "outDir": "./dist",    "rootDir": "./src",    "strict": true,    "esModuleInterop": true,    "skipLibCheck": true,    "forceConsistentCasingInFileNames": true  },  "include": ["src/**/*"],  "exclude": ["node_modules", "dist"]}

Crie a pasta src e o arquivo src/index.ts — este será o ponto de entrada da nossa aplicação.

Adicione scripts ao package.json para facilitar a execução:

"scripts": {  "dev": "nodemon --exec ts-node src/index.ts",  "build": "tsc",  "start": "node dist/index.js"}


2. Criação do servidor Express básico

Agora, vamos escrever um servidor mínimo em Express que escutará na porta 3000. Abra src/index.ts e adicione o seguinte código:

import express, { Request, Response } from 'express';

const app = express();const PORT = 3000;

// Middleware para parsing de JSONapp.use(express.json());

// Rota básica para verificaçãoapp.get('/', (req: Request, res: Response) => { res.send('Todo API funcionando!');});

app.listen(PORT, () => { console.log(`Servidor iniciado em http://localhost:${PORT}`);});

Inicie o servidor com o comando npm run dev e abra o navegador em http://localhost:3000. Você deve ver a mensagem "Todo API funcionando!".



3. Definição do modelo de dados e armazenamento in-memory

Para simplificar, não conectaremos um banco de dados imediatamente; usaremos um armazenamento temporário na memória RAM. Crie o arquivo src/models/todo.ts:

export interface Todo {  id: number;  title: string;  completed: boolean;  createdAt: Date;}

export let todos: Todo[] = [ { id: 1, title: 'Estudar TypeScript', completed: false, createdAt: new Date() }, { id: 2, title: 'Escrever API REST', completed: false, createdAt: new Date() },];

Observe o uso da interface Todo — isso garante que todos os objetos no array tenham a mesma estrutura.



4. Implementação das rotas CRUD

Criaremos o arquivo src/routes/todos.ts com rotas completas para as operações Create, Read, Update e Delete.

import { Router, Request, Response } from 'express';import { Todo, todos } from '../models/todo';

const router = Router();

// GET /api/todos — obter todas as tarefasrouter.get('/', (req: Request, res: Response) => { res.

Blogs

Book Recommendations