Apidog

All-in-one Collaborative API Development Platform

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados de API

Inscreva-se gratuitamente
Home / Tutoriais / Como lidar com parâmetros de consulta no Node.js Express

Como lidar com parâmetros de consulta no Node.js Express

Aprenda a manipular parâmetros de consulta no Node.js Express de forma eficiente. Este guia abrangente cobre tudo, desde o manuseio básico até a validação avançada e melhores práticas.

Olá, colegas programadores! Hoje, vamos nos aprofundar no mundo dos parâmetros de consulta no Node.js Express. Se você é um iniciante ou um desenvolvedor experiente, entender como lidar com parâmetros de consulta de forma eficiente é crucial para construir APIs robustas. Então, apertem os cintos e preparem-se para aprimorar suas habilidades em Express.js!

Antes de começarmos, um rápido agradecimento ao Apidog – sua ferramenta de confiança para documentação e testes de API. É gratuito, poderoso e complementa perfeitamente sua jornada de desenvolvimento de API. Não se esqueça de baixar o Apidog gratuitamente e facilitar sua vida!

button

O Que São Parâmetros de Consulta?

Primeiro, vamos esclarecer o que são parâmetros de consulta. Quando você envia uma solicitação GET para um servidor, pode incluir dados adicionais usando parâmetros de consulta. Esses parâmetros fazem parte da URL e geralmente são usados para filtrar, classificar ou personalizar os dados retornados pelo servidor.

Por exemplo, se você estiver construindo uma API para buscar dados de usuários, pode querer obter usuários com base em sua idade ou localização. Veja como uma URL típica com parâmetros de consulta pode parecer:

http://example.com/users?age=25&location=NY

Nesta URL, age=25 e location=NY são parâmetros de consulta.

Configurando Seu Ambiente Node.js

Antes de podermos começar a trabalhar com parâmetros de consulta, precisamos configurar nosso ambiente Node.js. Se você ainda não fez isso, certifique-se de que o Node.js esteja instalado. Você pode baixá-lo do site oficial do Node.js.

Depois de ter o Node.js instalado, crie um novo diretório de projeto e inicialize-o com npm:

mkdir express-query-params
cd express-query-params
npm init -y

Em seguida, instale o Express:

npm install express

Criando um Servidor Express Básico

Agora que nosso ambiente está configurado, vamos criar um servidor Express básico. Crie um novo arquivo chamado server.js e adicione o seguinte código:

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

app.get('/', (req, res) => {
    res.send('Olá, mundo!');
});

app.listen(port, () => {
    console.log(`Servidor em execução em http://localhost:${port}`);
});

Execute seu servidor usando o seguinte comando:

node server.js

Você deverá ver a mensagem "Servidor em execução em http://localhost:3000". Abra seu navegador e navegue até http://localhost:3000 para ver "Olá, mundo!" exibido na tela.

Lidando com Solicitações GET com Parâmetros de Consulta

Agora que temos um servidor básico em funcionamento, vamos adicionar alguma funcionalidade para lidar com parâmetros de consulta.

Exemplo 1: Parâmetros de Consulta Simples

Começaremos com um exemplo simples. Vamos modificar nosso servidor para lidar com uma solicitação GET com parâmetros de consulta. Atualize seu arquivo server.js da seguinte forma:

app.get('/users', (req, res) => {
    const age = req.query.age;
    const location = req.query.location;

    res.send(`Usuários com idade: ${age} e localização: ${location}`);
});

Neste código, estamos usando req.query para acessar os parâmetros de consulta. O objeto req.query contém todos os parâmetros de consulta enviados na URL.

Testando Seu Endpoint

Reinicie seu servidor e navegue até a seguinte URL em seu navegador:

http://localhost:3000/users?age=25&location=NY

Você deverá ver a mensagem "Usuários com idade: 25 e localização: NY".

Exemplo 2: Lidando com Múltiplos Parâmetros de Consulta

Vamos dar um passo adiante e lidar com múltiplos parâmetros de consulta de forma mais eficaz. Atualize seu arquivo server.js para lidar com cenários mais complexos:

app.get('/search', (req, res) => {
    const { term, limit, page } = req.query;

    res.send(`Buscando por: ${term}, Limite: ${limit}, Página: ${page}`);
});

Neste exemplo, estamos destruindo o objeto req.query para extrair os parâmetros diretamente. Isso torna o código mais limpo e legível.

Testando Seu Endpoint

Reinicie seu servidor e navegue até a seguinte URL em seu navegador:

http://localhost:3000/search?term=nodejs&limit=10&page=2

Você deverá ver a mensagem "Buscando por: nodejs, Limite: 10, Página: 2".

Validando Parâmetros de Consulta

Embora lidar com parâmetros de consulta seja ótimo, é essencial validá-los para garantir que sua API se comporte corretamente e de forma segura. Vamos adicionar alguma validação aos nossos parâmetros de consulta.

Exemplo 3: Validação Básica

Atualize seu arquivo server.js para incluir a lógica de validação:

app.get('/products', (req, res) => {
    const { category, price } = req.query;

    if (!category || !price) {
        return res.status(400).send('Categoria ou preço ausente');
    }

    res.send(`Categoria: ${category}, Preço: ${price}`);
});

Neste exemplo, estamos verificando se os parâmetros de consulta category e price estão presentes. Se algum deles estiver ausente, retornamos um código de status 400 com uma mensagem de erro.

Testando Seu Endpoint

Reinicie seu servidor e navegue até a seguinte URL em seu navegador:

http://localhost:3000/products?category=electronics&price=100

Você deverá ver a mensagem "Categoria: electronics, Preço: 100".

Tente acessar a URL sem um dos parâmetros de consulta:

http://localhost:3000/products?category=electronics

Você deverá ver a mensagem de erro "Categoria ou preço ausente".

Manipulação Avançada de Parâmetros de Consulta com Middleware

As funções de middleware no Express são uma maneira poderosa de adicionar funcionalidade adicional às suas rotas. Vamos ver como podemos usar middleware para lidar com parâmetros de consulta de forma mais eficiente.

Exemplo 4: Middleware para Validação de Parâmetros de Consulta

Crie um novo arquivo chamado middleware.js e adicione o seguinte código:

const validateQueryParams = (req, res, next) => {
    const { category, price } = req.query;

    if (!category || !price) {
        return res.status(400).send('Categoria ou preço ausente');
    }

    next();
};

module.exports = validateQueryParams;

Nesta função de middleware, estamos validando os parâmetros de consulta e chamando next() para passar o controle para o próximo middleware ou manipulador de rota caso a validação seja bem-sucedida.

Usando o Middleware em Suas Rotas

Atualize seu arquivo server.js para usar o middleware:

const validateQueryParams = require('./middleware');

app.get('/products', validateQueryParams, (req, res) => {
    const { category, price } = req.query;

    res.send(`Categoria: ${category}, Preço: ${price}`);
});

Agora, o middleware validateQueryParams será executado antes do manipulador de rota, garantindo que os parâmetros de consulta sejam validados.

Usando Apidog para Documentação e Testes de API

Como prometido, vamos falar sobre o Apidog. É uma excelente ferramenta para documentar e testar suas APIs. Com o Apidog, você pode criar documentação interativa de API, testar seus endpoints e garantir que tudo esteja funcionando como esperado.

button

Criando Documentação de API

Para criar documentação de API para seu aplicativo Express, você pode usar o Apidog. Dentro do projeto, você pode criar uma nova API. A documentação é o projeto da API REST, descrevendo seus recursos, operações e parâmetros. Para criar uma nova API, clique no botão "+" na página do projeto.

Crie uma API REST usando Apidog

Testando Sua API com Apidog

Depois que sua documentação estiver configurada, você poderá testar seus endpoints de API diretamente da interface do Apidog. Isso facilita a verificação se seus parâmetros de consulta e respostas estão funcionando corretamente.

Preencha os métodos HTTP, modelos de solicitação/resposta, parâmetros de consulta, cabeçalhos, etc.

Preencha informações básicas para criar uma API REST no Apidog

Depois que todas as APIs foram desenvolvidas, você pode clicar no botão "Enviar" para testar suas APIs.

Teste API REST no Apidog

Melhores Práticas para Trabalhar com Parâmetros de Consulta

Agora que cobrimos o básico, vamos discutir algumas melhores práticas para trabalhar com parâmetros de consulta no Node.js Express.

Valide Seus Parâmetros: Sempre valide os parâmetros de consulta para garantir que sua API seja segura e confiável. Use middleware para manter seu código limpo e fácil de manter.

Use Valores Padrão: Forneça valores padrão para parâmetros de consulta opcionais para tornar sua API mais amigável. Isso pode ajudar a evitar erros e melhorar a experiência do usuário.

Documente Sua API: Use ferramentas como Apidog para documentar seus endpoints de API e parâmetros de consulta. Isso facilita a compreensão e o uso da sua API por outros desenvolvedores.

Lide com Erros de Forma Elegante: Retorne mensagens de erro significativas quando os parâmetros de consulta estiverem ausentes ou inválidos. Isso ajuda os usuários a entender o que deu errado e como corrigir.

Mantenha Simples: Evite usar muitos parâmetros de consulta em um único endpoint. Se sua API exigir muitos parâmetros, considere dividi-la em vários endpoints para melhor clareza e usabilidade.

Conclusão

Lidar com parâmetros de consulta no Node.js Express é uma habilidade fundamental para qualquer desenvolvedor de API. Ao seguir os exemplos e melhores práticas deste guia, você estará bem equipado para construir APIs robustas e amigáveis.

E lembre-se, o Apidog está aqui para tornar sua jornada de desenvolvimento de API mais tranquila. Baixe o Apidog gratuitamente e comece a documentar e testar suas APIs como um profissional!

button

Junte-se à Newsletter da Apidog

Inscreva-se para ficar atualizado e receber os últimos pontos de vista a qualquer momento.