DEV Community

Cover image for Como Configurar uma API Node.js com TypeScript em 2025
CodeInit
CodeInit

Posted on

Como Configurar uma API Node.js com TypeScript em 2025

Hoje em dia, criar uma API eficiente e escalável com Node.js e TypeScript é mais simples e poderoso do que nunca. No CodeInit, gostamos de abordar tutoriais de maneira prática e direta, ajudando você a construir soluções profissionais que o mercado realmente pede. Neste artigo, vou te mostrar, passo a passo, como configurar uma API moderna utilizando as melhores práticas para 2025.

Se você é iniciante ou mesmo um desenvolvedor experiente buscando acelerar seu workflow, este guia é para você. Vamos juntos nessa jornada!

Por que usar Node.js e TypeScript?

Node.js continua sendo uma das tecnologias mais populares para backend, e quando combinado com TypeScript, você tem o melhor dos dois mundos: velocidade e segurança. TypeScript adiciona tipagem estática, o que torna seu código mais fácil de manter e reduz erros comuns.

Em 2025, é fundamental dominar ferramentas que trazem produtividade e que estão alinhadas com o mercado.

O que você precisa antes de começar

Antes de iniciar, você precisa garantir que o ambiente está preparado. Aqui estão os pré-requisitos:

  • Node.js 20 ou superior
  • Editor de texto - Recomendo o Visual Studio Code
  • Conhecimento básico de JavaScript e terminal
  • npm ou yarn instalado no sistema

Dica: Use o terminal integrado do VS Code para seguir este tutorial mais facilmente.

Passo 1: Configurando o ambiente

Primeiro, certifique-se de que o Node.js está instalado:

node -v
Enter fullscreen mode Exit fullscreen mode

Se tudo estiver certo, você deve ver a versão do Node.js. Caso contrário, instale a versão mais recente pelo site oficial.

Agora, vamos criar a estrutura do projeto:

mkdir minha-api && cd minha-api
npm init -y
Enter fullscreen mode Exit fullscreen mode

Esse comando cria o arquivo package.json, que gerencia as dependências do projeto.

Passo 2: Instalando o TypeScript

TypeScript é essencial para quem busca manutenção e organização em projetos maiores. Vamos instalá-lo:

npm install typescript tsx @types/node --save-dev
Enter fullscreen mode Exit fullscreen mode

Agora, configure o TypeScript criando um arquivo tsconfig.json:

tsc --init
Enter fullscreen mode Exit fullscreen mode

Edite o arquivo para refletir as melhores práticas de 2025:

{
   "compilerOptions": {
    "target": "ES2022",
    "module": "CommonJS",
    "strict": true,
    "outDir": "dist",
    "rootDir": "src"
  }
}
Enter fullscreen mode Exit fullscreen mode

Crie o diretório src onde vamos organizar nosso código:

mkdir src
Enter fullscreen mode Exit fullscreen mode

Passo 3: Adicionando ESLint e Prettier

Manter um código limpo é crucial. Vamos adicionar o ESLint e Prettier para garantir qualidade e padronização.

Instale as dependências:

npm install eslint prettier eslint-config-prettier eslint-plugin-prettier --save-dev
Enter fullscreen mode Exit fullscreen mode

Agora crie o arquivo .eslintrc.json:

{
  "env": {
    "node": true,
    "es2022": true
  },
  "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"],
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"]
}
Enter fullscreen mode Exit fullscreen mode

E configure o Prettier criando o arquivo .prettierrc:

{
  "semi": true,
  "singleQuote": true
}
Enter fullscreen mode Exit fullscreen mode

Passo 4: Construindo a API

Criando a rota de saúde

Agora é hora de colocar a mão na massa e criar nossa API. Vamos usar o Express, um framework minimalista para Node.js.

Instale o Express e seus tipos:

npm install express @types/express
Enter fullscreen mode Exit fullscreen mode

Crie o arquivo src/index.ts e adicione o seguinte código:

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

const app = express()
app.use(express.json())

// Rota de saúde com tipos definidos
app.get('/health', (req: Request, res: Response) => {
  res.status(200).json({ status: 'API rodando com sucesso!' });
})

app.listen(3000, () => {
  console.log('Servidor rodando na porta 3000');
})
Enter fullscreen mode Exit fullscreen mode

Para rodar o servidor, adicione o seguinte script ao package.json:

"scripts": {
  "start": "tsx watch src/index.ts"
}
Enter fullscreen mode Exit fullscreen mode

E execute: npm start

Você deve ver a mensagem: "Servidor rodando na porta 3000". Teste acessando: http://localhost:3000/health para verificar a saúde da API.

Adicionando a rota de Pokémons

Agora vamos expandir a API com uma rota que retorna uma lista de Pokémons.

Atualize o arquivo src/index.ts adicionando o seguinte código:

// Interface para definir o tipo de um Pokémon
interface Pokemon {
  id: number;
  name: string;
  type: string;
}

// Dados de exemplo
const pokemons: Pokemon[] = [
  { id: 1, name: 'Pikachu', type: 'Electric' },
  { id: 2, name: 'Charmander', type: 'Fire' },
  { id: 3, name: 'Bulbasaur', type: 'Grass/Poison' }
]

// Rota que retorna a lista de Pokémons
app.get('/pokemons', (req: Request, res: Response<Pokemon[]>) => {
  res.status(200).json(pokemons)
})
Enter fullscreen mode Exit fullscreen mode

Agora teste acessando: http://localhost:3000/pokemons para obter a lista de Pokémons.

Conclusão

Neste guia, você aprendeu como configurar uma API moderna com Node.js e TypeScript, começando com uma rota simples e expandindo para incluir dados tipados. Este é apenas o começo! Com essa base, você pode implementar autenticação, conexão com bancos de dados e muito mais.

Se este artigo foi útil, compartilhe com outros desenvolvedores e inscreva-se na nossa newsletter para não perder as próximas dicas. Vamos juntos dominar o mundo do desenvolvimento!

Top comments (0)