Cómo utilizar el objeto req en Express

Introducción

Índice
  1. Introducción
  • Prerrequisitos
  • Gestión de datos del lado del cliente
  • Examinar la URL con reqpropiedades
  • reqAnálisis de propiedades adicionales
  • Conclusión
  • Abreviatura de request, el reqobjeto es la mitad del ciclo requesty responsepara examinar llamadas desde el lado del cliente, realizar solicitudes HTTP y manejar datos entrantes, ya sea en una cadena o en un objeto JSON.

    En este artículo aprenderá sobre el reqobjeto en Express.

    Prerrequisitos

    Para seguir este artículo necesitarás:

    • Se recomienda tener conocimientos generales de Node.js, pero no es obligatorio. Para obtener más información sobre Node.js, consulta nuestra serie Cómo codificar en Node.js.
    • Un conocimiento general de las solicitudes HTTP .

    Gestión de datos del lado del cliente

    Los servidores Express reciben datos del lado del cliente a través del reqobjeto en tres instancias: los req.paramsobjetos , req.queryy .req.body

    El req.paramsobjeto captura datos en función del parámetro especificado en la URL. En su index.jsarchivo, implemente una GETsolicitud con un parámetro de '/:userid':

    índice.js

    // GET https://example.com/user/1app.get('/:userid', (req, res) = {  console.log(req.params.userid) // "1"})

    El req.paramsobjeto le indica a Express que muestre el resultado de la identificación de un usuario a través del parámetro '/:userid'. Aquí, la GETsolicitud https://example.com/user/1con el parámetro designado registra en la consola una identificación de "1".

    Para acceder a una cadena de consulta de URL, aplique el req.queryobjeto para buscar, filtrar y ordenar datos. En su index.jsarchivo, incluya una GETsolicitud a la ruta '/search':

    índice.js

    // GET https://example.com/search?keyword=great-whiteapp.get('/search', (req, res) = {  console.log(req.query.keyword) // "great-white"})

    Al utilizar el req.queryobjeto, se comparan los datos cargados desde el lado del cliente en una consulta condicional. En este caso, la GETsolicitud a la '/search'ruta informa a Express que debe hacer coincidir las palabras clave en la consulta de búsqueda con https://example.com. El resultado de agregar la .keywordpropiedad al req.queryobjeto se registra en la consola "great-white".

    El req.bodyobjeto le permite acceder a los datos en una cadena o un objeto JSON desde el lado del cliente. Generalmente, se utiliza el req.bodyobjeto para recibir datos a través POSTde PUTsolicitudes en el servidor Express.

    En su index.jsarchivo, establezca una POSTsolicitud a la ruta '/login':

    // POST https://example.com/login////      {//        "email": "user@example.com",//        "password": "helloworld"//      }app.post('/login', (req, res) = {  console.log(req.body.email) // "user@example.com"  console.log(req.body.password) // "helloworld"})

    Cuando un usuario ingresa su correo electrónico y contraseña en el lado del cliente, el req.bodyobjeto almacena esa información y la envía a su servidor Express. Al iniciar sesión req.bodyen la consola, el objeto obtiene el correo electrónico y la contraseña del usuario.

    Ahora que ha examinado las formas de implementar el reqobjeto, veamos otros enfoques para integrarlo en su servidor Express.

    Examinar la URL con reqpropiedades

    Las propiedades del reqobjeto también pueden devolver las partes de una URL según su anatomía. Esto incluye protocol, hostname, path, originalUrl, y subdomains.

    En su index.jsarchivo, establezca una GETsolicitud a la '/creatures'ruta:

    índice.js

    // https://ocean.example.com/creatures?filter=sharksapp.get('/creatures', (req, res) = {  console.log(req.protocol)     // "https"  console.log(req.hostname)     // "example.com"  console.log(req.path)         // "/creatures"  console.log(req.originalUrl)  // "/creatures?filter=sharks"  console.log(req.subdomains)   // "['ocean']"})

    Puede acceder a varias partes de la URL mediante propiedades integradas como .protocoly .hostname. Al registrar el reqobjeto con cada una de las propiedades, se obtiene la anatomía de la URL.

    reqAnálisis de propiedades adicionales

    El resobjeto consta de propiedades para maximizar sus llamadas a solicitudes HTTP.

    Para acceder al método HTTP, ya sea GET, POST, PUTo DELETE, utilice la .methodpropiedad de su reqobjeto. En su index.jsarchivo, implemente una DELETEsolicitud a un punto final anónimo:

    índice.js

    app.delete('/', (req, res) = {  console.log(req.method) // "DELETE"})

    La .methodpropiedad devuelve el método de solicitud HTTP actual. En este caso, la consola registra un DELETEmétodo.

    Para los encabezados enviados a su servidor, agregue el método .header()a su reqobjeto. Establezca una POSTsolicitud en la ruta '/login'en su index.jsarchivo:

    índice.js

    app.post('/login', (req, res) = {  req.header('Content-Type')  // "application/json"  req.header('user-agent')    // "Mozilla/5.0 (Macintosh Intel Mac OS X 10_8_5) AppleWebKi..."  req.header('Authorization') // "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."})

    El req.header()método devolverá el tipo de encabezado, como Content-Typey Authorization. El argumento req.header()no distingue entre mayúsculas y minúsculas, por lo que puede usar req.header('Content-Type')y req.header('content-type')de forma intercambiable.

    Si la ha agregado cookie-parsercomo dependencia en su servidor Express, la req.cookiespropiedad almacenará valores de su analizador. En su index.jsarchivo, establezca una instancia de req.cookiesla propiedad y aplíquela sessionDate:

    índice.js

    // Cookie sessionDate=2019-05-28T01:49:11.968Zreq.cookies.sessionDate // "2019-05-28T01:49:11.968Z"

    Observe el resultado devuelto desde la fecha de sesión de una cookie cuando se llama desde el reqobjeto.

    Conclusión

    Express proporciona propiedades integradas para utilizar el reqobjeto como parte del requestciclo para manejar solicitudes HTTP y datos del lado del cliente. Si desea ver la documentación oficial, reqvisite la documentación oficial de Express.js .

    SUSCRÍBETE A NUESTRO BOLETÍN 
    No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion