Como escrever uma API REST em TypeScript em 30 minutos

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
Here is the translated HTML content in Portuguese (Português), with all HTML tags preserved and only the text content translated. Programming terms, code examples, and proper nouns remain in English. ```html

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
```                

Blogs

Book Recommendations