Expresar, solicitar parámetros

Una referencia útil a todas las propiedades del objeto de solicitud y cómo usarlas

Solicitar parámetros

Mencioné cómo el objeto Request contiene toda la información de la solicitud HTTP.

Estas son las propiedades principales que probablemente usará:

Propiedad Descripción
.app contiene una referencia al objeto de la aplicación Express
.baseUrl la ruta base en la que responde la aplicación
.cuerpo contiene los datos enviados en el cuerpo de la solicitud (se deben analizar y completar manualmente antes de poder acceder a ellos)
.galletas contiene las cookies enviadas por la solicitud (necesita elcookie-parsermiddleware)
.nombre de host el nombre de host como se define en elEncabezado HTTP del hostvalor
.ip la IP del cliente
.método el método HTTP utilizado
.params la ruta denominada parámetros
.camino la ruta de la URL
.protocolo el protocolo de solicitud
.consulta un objeto que contiene todas las cadenas de consulta utilizadas en la solicitud
.seguro verdadero si la solicitud es segura (usa HTTPS)
.Cookies firmadas contiene las cookies firmadas enviadas por la solicitud (necesita elcookie-parsermiddleware)
.xhr verdadero si la solicitud es unaXMLHttpRequest

Cómo recuperar los parámetros de la cadena de consulta GET usando Express

La cadena de consulta es la parte que viene después de la ruta de la URL y comienza con un signo de interrogación.?.

Ejemplo:

?name=flavio

Se pueden agregar varios parámetros de consulta usando&:

?name=flavio&age=35

¿Cómo se obtienen esos valores de cadena de consulta en Express?

Express lo hace muy fácil rellenando elRequest.queryobjeto para nosotros:

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

app.get(’/’, (req, res) => { console.log(req.query) })

app.listen(8080)

Este objeto se rellena con una propiedad para cada parámetro de consulta.

Si no hay parámetros de consulta, es un objeto vacío.

Esto hace que sea fácil de iterar usando el bucle for ... in:

for (const key in req.query) {
  console.log(key, req.query[key])
}

Esto imprimirá la clave de propiedad de la consulta y el valor.

También puede acceder a propiedades individuales:

req.query.name //flavio
req.query.age //35

Cómo recuperar los parámetros de la cadena de consulta POST usando Express

Los parámetros de consulta POST los envían los clientes HTTP, por ejemplo, mediante formularios o al realizar una solicitud POST enviando datos.

¿Cómo puede acceder a estos datos?

Si los datos se enviaron comoJSON, usandoContent-Type: application/json, usarás elexpress.json()middleware:

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

app.use(express.json())

Si los datos se enviaron usandoContent-Type: application/x-www-form-urlencoded, necesitará utilizar elexpress.urlencoded()middleware:

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

app.use(express.urlencoded({ extended: true }))

En ambos casos, puede acceder a los datos haciendo referencia a ellos desdeRequest.body:

app.post('/form', (req, res) => {
  const name = req.body.name
})

Nota: las versiones anteriores de Express requerían el uso debody-parsermódulo para procesar datos POST. Este ya no es el caso a partir de Express 4.16 (lanzado en septiembre de 2017) y versiones posteriores.

Descarga mi gratisManual de Express.js


Más tutoriales rápidos: