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
id=3&name=Tom
A query string é formada por parâmetros. Após o nome de cada parâmetro, segue seu valor, separado pelo sinal de igual =
&
No Express, podemos obter os parâmetros da query string através da propriedade query
request
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
request.query.nome_do_parametro

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

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
name
user: { id: "7", name: "Tom" }

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