Maison > interface Web > js tutoriel > Propriétés essentielles de la demande express que tout développeur devrait connaître

Propriétés essentielles de la demande express que tout développeur devrait connaître

DDD
Libérer: 2024-09-12 22:31:38
original
1127 Les gens l'ont consulté

ssential Express Request Properties Every Developer Should Know

Lorsque vous travaillez sur le backend des projets, la gestion des demandes et des réponses est cruciale. La gestion efficace de ces requêtes est essentielle pour une communication fluide entre le client et le serveur. Voici quelques propriétés de requête courantes et importantes que tout développeur devrait connaître.

1. req.ip

req.ip dans Express.js est une propriété de l'objet de requête qui fournit l'adresse IP du client effectuant la demande. Il renvoie une chaîne représentant l'adresse IP du client.

Gestion des proxys :
Par défaut, si l'application se trouve derrière un proxy, req.ip peut renvoyer l'adresse IP du proxy plutôt que l'adresse IP du client réel. Pour obtenir l'adresse IP client correcte, vous pouvez configurer Express pour faire confiance au proxy en définissant un proxy de confiance.

app.set("trust proxy", true);
Copier après la connexion

Désormais, req.ip renverra l'adresse IP correcte du client même derrière un proxy.

Exemple :

app.get('/', (req, res) => {
  console.log(req.ip);  // Logs the client's IP address
  res.send(`Your IP address is ${req.ip}`);
});
Copier après la connexion

2. cookies requis

Pour utiliser req.cookies, nous devons installer le package appelé cookie-parser middleware. La propriété est utilisée pour obtenir les cookies envoyés par le client dans l'en-tête Cookies. Les cookies contenus dans req.cookies ne sont pas signés, ce qui signifie qu'ils n'ont pas été modifiés ou vérifiés. Vous pouvez l'utiliser pour des données moins sensibles

import cookieParser from "cookie-parser";

app.use(cookieParser());

app.get('/example', (req, res) => {
  console.log(req.cookies);  // { cookieName: 'cookieValue' }
});
Copier après la connexion

3. req.signedCookies

Pour utiliser req.signedCookies, nous devons installer le package appelé cookie-parser middleware. Celui-ci contient des cookies qui ont été signés et vérifiés pour garantir qu'ils n'ont pas été modifiés. Les cookies signés sont cryptés avec la clé secrète. Les req.signedCookies stockent uniquement les cookies qui réussissent la vérification.

Comment définir des cookies signés :
Pour définir un cookie signé, vous pouvez utiliser l'option signé: true :

res.cookie('signedCookieName', 'signedValue', { signed: true });
Copier après la connexion

Exemple :

import cookieParser from "cookie-parser";

app.use(cookieParser('your-secret-key'));

app.get('/example', (req, res) => {
  console.log(req.signedCookies);  // { signedCookieName: 'signedValue' }
});

Copier après la connexion

4. paramètres requis

req.params dans Express.js est un objet qui contient les paramètres de route de l'URL de la requête. Les paramètres de route sont nommés espaces réservés dans le chemin de la route, et req.params stocke les valeurs fournies par le client dans l'URL pour ces espaces réservés.
Vous pouvez définir un itinéraire avec des paramètres en utilisant deux points (:) avant le nom du paramètre.

Exemple :

app.get('/users/:userId', (req, res) => {
  console.log(req.params); // { userId: 'valueFromURL' }
  res.send(`User ID is ${req.params.userId}`);
});

Copier après la connexion

5. req.requête

req.query dans Express.js est un objet qui contient les paramètres de chaîne de requête de l'URL de la requête. Les chaînes de requête sont des paires clé-valeur qui suivent le ? dans une URL et sont utilisés pour transmettre des données supplémentaires au serveur. Plusieurs requêtes peuvent être transmises à l'aide de &.

Exemple d'URL :

http://example.com/search?term=flowers&sort=asc
Copier après la connexion

Exemple :

app.get('/search', (req, res) => {
  console.log(req.query);  // { term: 'flowers', sort: 'asc' }
  res.send(`Search term: ${req.query.term}, Sort order: ${req.query.sort}`);
});

Copier après la connexion

6. corps requis

Il contient des paires clé-valeur de données envoyées par le client. Par défaut, sa valeur n'est pas définie. Les données corporelles peuvent être renseignées à l'aide d'un middleware intégré tel que express.json et urlencoded({ extend: true }), ou d'un middleware externe comme body-parser.

Le code suivant vous aide à comprendre

import express from "express";

const app = express();

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

app.get("/user", (req, res) => {
    const user  = req.body;
    consolo.log(user);
    res.send(user);
})
Copier après la connexion

J'espère que cela vous a été utile ! N'oubliez pas d'aimer et de sauvegarder pour référence future. Bon codage !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal