Node.js: objeto de solicitud
los req El objeto representa la solicitud HTTP y tiene propiedades para la cadena de consulta de la solicitud, los parámetros, el cuerpo, los encabezados HTTP, etc.
Solicitar propiedades de objeto
A continuación se muestra la lista de algunas propiedades asociadas con el objeto de solicitud.
No Señor. | Propiedades y descripción |
---|---|
1 | req.app Esta propiedad contiene una referencia a la instancia de la aplicación express que usa el middleware. |
2 | req.baseUrl La ruta de URL en la que se montó una instancia de enrutador. |
3 | req.body Contiene pares de datos clave-valor enviados en el cuerpo de la solicitud. De forma predeterminada, no está definido y se rellena cuando utiliza middleware de análisis corporal comobody-parser |
4 | req.cookies Cuando se utiliza middleware analizador de cookies, esta propiedad es un objeto que contiene cookies enviadas por la solicitud. |
5 | req.fresh Indica si la solicitud es "nueva". Es lo opuesto a req.stale. |
6 | req.hostname Contiene el nombre de host del encabezado HTTP "Host". |
7 | req.ip La dirección IP remota de la solicitud. |
8 | req.ips Cuando la configuración del proxy de confianza es verdadera, esta propiedad contiene una matriz de direcciones IP especificadas en el encabezado de la solicitud "X-Fordered-For". |
9 | req.originalUrl Esta propiedad es muy parecida a req.url; sin embargo, conserva la URL de solicitud original, lo que le permite reescribir req.url libremente para propósitos de enrutamiento interno. |
10 | req.params Un objeto que contiene propiedades asignadas a los "parámetros" de la ruta nombrada. Por ejemplo, si tiene la ruta / usuario /: nombre, entonces la propiedad "nombre" está disponible como req.params.name. Este objeto tiene el valor predeterminado {}. |
11 | req.path Contiene la parte de la ruta de la URL de solicitud. |
12 | req.protocol La cadena de protocolo de solicitud, "http" o "https" cuando se solicita con TLS. |
13 | req.query Un objeto que contiene una propiedad para cada parámetro de cadena de consulta en la ruta. |
14 | req.route La ruta coincidente actualmente, una cadena. |
15 | req.secure Un booleano que es verdadero si se establece una conexión TLS. |
dieciséis | req.signedCookies Cuando se usa middleware analizador de cookies, esta propiedad contiene cookies firmadas enviadas por la solicitud, sin firmar y listas para usar. |
17 | req.stale Indica si la solicitud está "obsoleta" y es lo opuesto a req.fresh. |
18 | req.subdomains Una matriz de subdominios en el nombre de dominio de la solicitud. |
19 | req.xhr Un valor booleano que es verdadero si el campo de encabezado "X-Requested-With" de la solicitud es "XMLHttpRequest", lo que indica que la solicitud fue emitida por una biblioteca cliente como jQuery. |
Solicitar métodos de objeto
req.accepts (tipos)
req.accepts(types)
Este método verifica si los tipos de contenido especificados son aceptables, según el campo de encabezado Accept HTTP de la solicitud. A continuación se muestran algunos ejemplos:
// Accept: text/html
req.accepts('html');
// => "html"
// Accept: text/*, application/json
req.accepts('html');
// => "html"
req.accepts('text/html');
// => "text/html"
req.get (campo)
req.get(field)
Este método devuelve el campo de encabezado de solicitud HTTP especificado. A continuación se muestran algunos ejemplos:
req.get('Content-Type');
// => "text/plain"
req.get('content-type');
// => "text/plain"
req.get('Something');
// => undefined
req.is (tipo)
req.is(type)
Este método devuelve verdadero si el campo de encabezado HTTP "Content-Type" de la solicitud entrante coincide con el tipo MIME especificado por el parámetro de tipo. A continuación se muestran algunos ejemplos:
// With Content-Type: text/html; charset=utf-8
req.is('html');
req.is('text/html');
req.is('text/*');
// => true
req.param (nombre [, valor predeterminado])
req.param(name [, defaultValue])
Este método devuelve el valor del nombre del parámetro cuando está presente. A continuación se muestran algunos ejemplos:
// ?name=tobi
req.param('name')
// => "tobi"
// POST name=tobi
req.param('name')
// => "tobi"
// /user/tobi for /user/:name
req.param('name')
// => "tobi"