ExpressJS: Crie APIs de forma rápida e prática com JavaScript
O ExpressJS simplifica a criação de APIs com JavaScript e Node.js. Aprenda passo a passo a montar seu backend com rotas, testes e um exemplo prático de controle de estoque.
O ExpressJS é um framework minimalista para Node.js que cria servidores e APIs em JavaScript com poucas linhas de código. Você instala com npm install express, define uma rota como app.get(‘/produtos’) e sobe o servidor com app.listen(3000). Cada rota responde a um método HTTP (GET, POST, PUT, DELETE) devolvendo os dados em JSON.
O que você vai ver aqui?
Introdução
Se você já pensou em construir uma API rápida — sem complicação, apenas com JavaScript — o ExpressJS é sua porta de entrada. Com ele, você transforma facilmente o ambiente do backend e cria endpoints para servir dados (como lista de produtos) em poucos minutos.
Neste artigo, você vai aprender como configurar o ExpressJS e montar uma API simples de controle de estoque — ideal para quem está começando, estudando ou buscando consolidar fundamentos básicos de backend.
No fim, você terá algo funcional do zero: um servidor que responde requisições HTTP com dados JSON, pronto para você testar no navegador ou usando ferramentas como Insomnia.
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
O que é o ExpressJS e por que usá-lo
O ExpressJS é um framework minimalista e flexível para Node.js, criado para facilitar o desenvolvimento de servidores web e APIs com JavaScript.
Ele fornece um conjunto simples de ferramentas para definir rotas, lidar com requisições/respostas HTTP e integrar middlewares, sem impor uma estrutura rígida.
Com ExpressJS você consegue:
- Criar rotas que respondem a diferentes métodos HTTP (GET, POST, PUT, DELETE) de forma simples.
- Configurar um servidor HTTP com poucas linhas de código.
- Montar APIs RESTful de forma leve e escalável — desde pequenos projetos até aplicações mais complexas.
Por ser minimalista, o ExpressJS te dá liberdade para estruturar o projeto como preferir. É ideal para aprender fundo sobre o funcionamento de servidores e APIs antes de adicionar bancos de dados, autenticação ou lógica mais complexa.
Para mais detalhes sobre APIs, recomendo conferir nossa aula: O que são APIs e WebAPIs – Diferenças e Importância
Preparativos para o seu projeto
Antes de começar, certifique-se de que você possui instalado:
Depois, siga estes passos:
No terminal do seu editor de códigos, execute:
npm init -y

Esse comando cria um arquivo package.json, que será usado para gerenciar dependências do projeto.
Abra o package.json e adicione a propriedade "type": "module" para habilitar importações ES6, se quiser usar import/export no lugar de require. Por exemplo:
{
"name": "meu-projeto",
"version": "1.0.0",
"main": "index.js",
"type": "module",
"scripts": {},
"keywords": [],
"author": "",
"license": "ISC",
"description": ""
}Isso nos permite trabalhar com múltiplos arquivos de código de maneira modular, seguindo o sistema de módulos ES, que possibilita o uso de import e export para organizar seu código em diferentes arquivos.
Depois, instale o ExpressJS com:
npm install express
Isso vai criar a pasta node_modules, onde ficarão as dependências do projeto necessárias para o funcionamento do Express.

Métodos HTTP e Rotas na API
Quando um usuário acessa uma API, ele realiza uma requisição, que pode ser de diferentes tipos, dependendo da ação desejada.
No contexto da web, os métodos HTTP mais comuns são:
- GET para obter uma informação do servidor.
- POST para enviar uma informação ao servidor.
- PUT atualizar uma informação do servidor.
- DELETE apagar uma informação do servidor.
Se quiser entender melhor sobre a comunicação na web e os diferentes métodos HTTP, acesse nossa aula: Comunicação na Internet - Todo Desenvolvedor Web Deve Saber
Como o ExpressJS trata rotas e métodos HTTP
Com o ExpressJS, definir rotas e responder a requisições é bem direto. Por exemplo:
app.get(path, handler)— define uma rota para requisições GET.- Você também pode usar
app.post(),app.put(),app.delete(), entre outros, para lidar com os diversos verbos HTTP. - É possível usar middlewares (funções de interceptação) para tratar requisições antes de chegar nas rotas, fazer validações, parsing de JSON, autenticação etc.
Essa flexibilidade torna o Express ideal tanto para APIs simples quanto para backends mais robustos, basta adicionar funcionalidades conforme necessário.
Criando a API de controle de estoque
Agora que o ambiente está pronto e você entendeu melhor o funcionamento de uma API, vamos começar nosso exemplo prático: criar uma API simples que representa um estoque de produtos.
1. Definindo os dados — estoque.js
Crie um arquivo chamado estoque.js

Dentro desse arquivo, defina um array de objetos representando os itens do estoque. Cada objeto terá informações como id e nome do produto. Por exemplo:
const estoque = [
{ id: 1, nome: "mesa" },
{ id: 2, nome: "cadeira" },
{ id: 3, nome: "gaveteiro" },
];
export default estoque;Esse array simula um estoque simples, mas já serve bem para testar a ideia de API. A exportação permite reutilizar o array em outros arquivos.
2. Criando o servidor e definindo rotas — app.js
Em um segundo arquivo, app.js, importe o array do estoque e o Express. Depois, crie a aplicação e defina a rota para retornar os produtos:
import express from "express";
import estoque from "./estoque.js";
const app = express();
app.get("/produtos", (req, res) => {
res.status(200).send(estoque);
});
app.listen(3000, () => {
console.log("Servidor rodando em http://localhost:3000");
});O objeto app é gerado a partir da função express. Esse objeto é o núcleo da aplicação, onde as rotas e funcionalidades da API são controladas.
E método get() define o comportamento da API quando a rota é acessada. O servidor responde com o código de status 200 (requisição bem-sucedida) e envia (send()) o array estoque como resposta.
Essa operação é realizada por meio de uma função que recebe dois parâmetros: req (requisição) e res (resposta). Essa função será chamada sempre que o usuário acessar o caminho /produtos da API.
Para permitir que outros sistemas se comuniquem com a API, utilize o método listen, definindo a porta 3000. Isso significa que o servidor estará disponível localmente nessa porta.
Dessa forma, ao acessar http://localhost:3000/produtos, o servidor responderá com o array estoque.
3. Testando a API
Para rodar o servidor, use o comando:
node ./app.js
Abra o navegador ou use o Insomnia e defina uma requisição GET para http://localhost:3000/produtos.


Você verá a lista de produtos como resposta JSON, junto com o status HTTP 200. Isso significa que sua API está funcionando corretamente.


Próximos Passos no Desenvolvimento de APIs:
Mesmo sendo simples, esse exemplo já traz o essencial de uma API:
- Um servidor que responde a requisições HTTP
- Uma rota definida com método e endereço (endpoint) claro
- Dados estruturados (array de objetos) retornados como resposta JSON
A partir desse ponto, você pode expandir para operações CRUD completas (criar, ler, atualizar, deletar), integrar um banco de dados (relacional ou NoSQL), adicionar autenticação, tratamento de erros, validação de dados, entre outras camadas.
Há quem use ExpressJS para APIs completas em aplicações SPA ou com front-end moderno.
Se você deseja aprender a criar um sistema completo de backend com Node.js e ExpressJS, incluindo a configuração e o desenvolvimento do servidor da sua WebAPI, confira o nosso Minicurso de NodeJS - Backend com JavaScript.
Conclusão – Conhecendo o ExpressJS
Com poucos passos — instalar Node.js, criar package.json, instalar Express, definir dados e rotas — você já tem uma API básica de estoque funcionando.
O ExpressJS abstrai a complexidade do servidor HTTP, deixando você focar na lógica da sua aplicação. Sua simplicidade, combinada com sua flexibilidade, faz dele uma ferramenta poderosa para desenvolvedores backend.
Se quiser se aprofundar na construção de backends robustos, com banco de dados, autenticação, rotas organizadas e melhores práticas, recomendo conferir o curso completo Full Stack Impressionador.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A aula cria uma API de controle de estoque com ExpressJS do zero: inicializa o projeto com npm init -y, instala o framework, define os dados num array exportado e cria uma rota GET que devolve o estoque em JSON, testando tudo com o Insomnia enquanto a API roda na porta 3000.
Neste vídeo (18 min):
- 1:00 -
npm init -ycria opackage.json, o arquivo que coordena as configurações do projeto Node - 3:00 - Definir
"type": "module"nopackage.jsonpermite usarimporteexportentre os arquivos do projeto;npm install expressinstala o framework - 5:00 - Criação do arquivo de estoque com um array de objetos, cada um com id e nome, exportado com
export default - 7:00 - No arquivo principal, importa o array do estoque e a função
expressvindos dos respectivos arquivos - 8:00 - A função
express()devolve um objeto que controla as características da API, usado depois para definir rotas e porta - 9:00 -
app.listen(3000)coloca a API rodando na porta 3000 da máquina - 10:00 -
app.get('/produtos', (req, res) => ...)define uma rota que recebe a requisição e devolve a resposta - 12:00 - Dentro da rota, o status da resposta indica o resultado:
200para sucesso,401para quando falta autorização, seguido deres.send()com os dados - 13:00 - Rodar o servidor pelo terminal com
node app.jscoloca a API no ar - 14:00 - Testar a rota com o Insomnia, disparando uma requisição GET para
localhost:3000/produtos
Trechos do vídeo:
- Definir
"type": "module"nopackage.jsonpermite usarimporteexportentre arquivos diferentes do mesmo projeto - A função
express()devolve um objeto que controla todas as características da API, e é a partir dele que se definem rotas e a porta do servidor - Cada rota combina um caminho com um método HTTP, e a função que a atende recebe a requisição e a resposta como parâmetros
- O código de status da resposta indica o resultado da requisição:
200para sucesso,401para quando o pedido não tem autorização
FAQ - Perguntas Frequentes sobre Expressjs e APIs
1. Preciso instalar algo além do Express para começar?
Não. Para esse exemplo, basta ter Node.js instalado, inicializar o projeto com npm init -y e rodar npm install express. Isso já permite criar rotas e responder requisições.
2. Posso usar import/export (ES Modules) em vez de require/exports?
Sim. Se você adicionar "type": "module" no package.json, consegue usar import/export, como no exemplo estoque.js + app.js.
3. O Express impede que eu use um banco de dados ou outra funcionalidade mais avançada?
Não. Express é minimalista, mas extremamente flexível — permite integrar bancos de dados, middlewares, autenticação, sistemas de rotas organizados, etc. Você só precisa escolher as dependências certas.
4. É possível ter múltiplas rotas dentro da API?
Sim. Você pode definir quantas rotas quiser com diferentes métodos HTTP. Por exemplo: app.post("/produtos", ...), app.put("/produtos/:id", ...), app.delete("/produtos/:id", ...), etc.
Hashtag Treinamentos
Para acessar publicações de JavaScript, clique aqui!
Posts mais recentes de JavaScript
- Try Catch no JavaScript: Programação Defensiva na PráticaAprenda a usar try catch no JavaScript e melhore a sua programação defensiva!
- ExpressJS: Crie APIs de forma rápida e prática com JavaScriptO ExpressJS simplifica a criação de APIs com JavaScript e Node.js. Aprenda passo a passo a montar seu backend com rotas, testes e um exemplo prático de controle de estoque.
- Método forEach no JavaScript: automatize tarefas repetitivasAprenda como usar o Método forEach no JavaScript para automatizar tarefas repetitivas e gerar tabelas dinâmicas de forma prática e eficiente.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.









