Atualizado: 02/01/2025

Parâmetros de Query String - Node.js

Uma das formas de enviar dados para uma aplicação é através do uso de parâmetros de query string. A query string é a parte do endereço requisitado que aparece após o ponto de interrogação. Por exemplo, na requisição http://localhost:3000/about?id=3&name=Tom, a parte id=3&name=Tom representa a query string.

A query string é formada por parâmetros. Após o nome de cada parâmetro, segue seu valor, separado pelo sinal de igual =. Os parâmetros são separados entre si pelo sinal de e comercial &. No endereço acima, são usados dois parâmetros: o parâmetro "id" com valor "3" e o parâmetro "name" com valor "Tom".

No Express, podemos obter os parâmetros da query string através da propriedade query do objeto request, que é passado para a função de manipulação da requisição. Por exemplo:

const express = require("express");
  
const app = express();
app.get("/", function(_, response) {
    response.send("<h1>Home Page</h1>");
});
app.use("/about", function(request, response) {
    const id = request.query.id;
    const userName = request.query.name;
    response.send(`<h1>Informações</h1><p>id: ${id}</p><p>name: ${userName}</p>`);
});
  
app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));

Usando request.query, podemos receber todos os parâmetros da query string como um objeto JavaScript. Utilizando request.query.nome_do_parametro, podemos acessar cada parâmetro individualmente.

Parâmetros de Consulta no Express no Node.js

Arrays

De forma similar, podemos obter arrays de dados.

const express = require("express");
  
const app = express();
app.get("/", function(_, response) {
    response.send("<h1>Home Page</h1>");
});
app.use("/about", function(request, response) {
    const usernames = request.query.name;
    let responseText = "<ul>";
    for(let username of usernames) {
        responseText += `<li>${username}</li>`;
    }
    responseText += "</ul>";
    response.send(responseText);
});
  
app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));

Neste caso, será recebido um parâmetro name que representa um array.

Enviar Arrays no Express no Node.js

Objetos

Também podemos receber objetos, que consistem em múltiplas propriedades:

const express = require("express");
  
const app = express();
  
app.use("/about", function(request, response) {
    console.log(request.query);
    const id = request.query.user.id;
    const name = request.query.user.name;
      
    response.send(`<h3>id: ${id} <br> name: ${name}</h3>`);
});
  
app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));

Neste caso, recebemos um objeto user que contém duas propriedades: id e name. Por exemplo, user: { id: "7", name: "Tom" }.

Enviar de Objetos no Express no Node.js

Para passar propriedades de um objeto na query string, os nomes das propriedades são colocados entre colchetes: user[id].

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com