Como lidar com requisições GET e POST no Express.js?

No Express.js, as requisições GET e POST são usadas para recuperar e enviar dados, permitindo a comunicação entre cliente e servidor.

Como lidar com requisições GET e POST no Express.js?

No Express.js, as requisições GET e POST são amplamente utilizadas para interagir com APIs e manipular dados. A requisição GET é usada para recuperar informações, enquanto a POST é usada para enviar dados ao servidor.

1. Criando uma rota GET

Uma rota GET é utilizada para buscar informações sem modificar o servidor.

const express = require('express');
const app = express();

app.get('/usuarios', (req, res) => {
    res.json({ mensagem: 'Lista de usuários' });
});

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

2. Capturando parâmetros na URL (Query Params e Route Params)

Os parâmetros podem ser passados via query params ou route params.

Exemplo com query params:

app.get('/pesquisa', (req, res) => {
    const termo = req.query.termo;
    res.json({ mensagem: `Resultados para: ${termo}` });
});

Se acessarmos http://localhost:3000/pesquisa?termo=express, o JSON retornado será:

{
    "mensagem": "Resultados para: express"
}

Exemplo com route params:

app.get('/usuarios/:id', (req, res) => {
    const id = req.params.id;
    res.json({ mensagem: `Usuário com ID: ${id}` });
});

Acessando http://localhost:3000/usuarios/10, a resposta será:

{
    "mensagem": "Usuário com ID: 10"
}

3. Criando uma rota POST

A requisição POST é usada para enviar dados ao servidor. Para capturar o body, precisamos do middleware express.json():

app.use(express.json());

app.post('/usuarios', (req, res) => {
    const { nome, email } = req.body;
    res.json({ mensagem: 'Usuário criado', nome, email });
});

Se enviarmos um JSON via Postman ou Insomnia para http://localhost:3000/usuarios:

{
    "nome": "João",
    "email": "joao@email.com"
}

O servidor responderá:

{
    "mensagem": "Usuário criado",
    "nome": "João",
    "email": "joao@email.com"
}

Conclusão

O Express.js facilita a manipulação de requisições GET e POST, permitindo recuperar e enviar dados facilmente. Com o uso de query params, route params e body, conseguimos criar APIs eficientes e escaláveis.

As requisições HTTP são a base da comunicação entre clientes e servidores. No Express.js, os métodos GET e POST são os mais comuns, mas também existem outros como PUT, DELETE e PATCH.

O uso correto dessas requisições melhora a organização da API, garantindo que cada endpoint tenha um propósito bem definido. Por isso, é essencial entender como capturar dados enviados pelo cliente e estruturá-los corretamente dentro da aplicação.

Frameworks modernos, como NestJS e Next.js, utilizam esses conceitos internamente para oferecer soluções mais robustas e organizadas.

Algumas aplicações:

  • Consulta de dados via GET
  • Envio de formulários com POST
  • Criação de endpoints para autenticação
  • Recuperação de informações com parâmetros
  • Integração com bancos de dados

Dicas para quem está começando

  • Use express.json() para processar o corpo das requisições POST.
  • Para capturar query params, utilize req.query.
  • Utilize req.params para acessar parâmetros dinâmicos na URL.
  • Teste suas requisições com ferramentas como Postman ou Insomnia.
  • Responda sempre com JSON para manter a padronização da API.

Contribuições de Lucas Fernandes

Compartilhe este tutorial: Como lidar com requisições GET e POST no Express.js?

Compartilhe este tutorial

Continue aprendendo:

O que são middlewares no Express.js e como usá-los?

Middlewares no Express.js são funções que processam requisições antes de chegarem à rota final, permitindo manipulação, autenticação e tratamento de erros.

Tutorial anterior

Como usar parâmetros de URL nas rotas do Express.js?

Os parâmetros de URL no Express.js permitem capturar valores dinâmicos na rota, facilitando a criação de endpoints personalizados.

Próximo tutorial