Heim > Web-Frontend > js-Tutorial > Wesentliche Express-Request-Eigenschaften, die jeder Entwickler kennen sollte

Wesentliche Express-Request-Eigenschaften, die jeder Entwickler kennen sollte

DDD
Freigeben: 2024-09-12 22:31:38
Original
1145 Leute haben es durchsucht

ssential Express Request Properties Every Developer Should Know

Bei der Arbeit im Backend von Projekten ist die Bearbeitung von Anfragen und Antworten von entscheidender Bedeutung. Die effiziente Verwaltung dieser Anfragen ist für eine reibungslose Kommunikation zwischen Client und Server unerlässlich. Hier sind einige allgemeine und wichtige Anforderungseigenschaften, mit denen jeder Entwickler vertraut sein sollte.

1. req.ip

req.ip in Express.js ist eine Eigenschaft des Anforderungsobjekts, die die IP-Adresse des Clients bereitstellt, der die Anforderung stellt. Es gibt eine Zeichenfolge zurück, die die IP-Adresse des Clients darstellt.

Verwaltung von Proxys:
Wenn sich die App hinter einem Proxy befindet, gibt req.ip standardmäßig möglicherweise die IP des Proxys und nicht die IP des echten Clients zurück. Um die richtige Client-IP zu erhalten, können Sie Express so konfigurieren, dass es dem Proxy vertraut, indem Sie „Trust Proxy“ festlegen.

app.set("trust proxy", true);
Nach dem Login kopieren

Jetzt gibt req.ip die korrekte IP des Clients zurück, auch wenn er sich hinter einem Proxy befindet.

Beispiel:

app.get('/', (req, res) => {
  console.log(req.ip);  // Logs the client's IP address
  res.send(`Your IP address is ${req.ip}`);
});
Nach dem Login kopieren

2. erforderliche Cookies

Um req.cookies verwenden zu können, müssen wir das Paket namens Cookie-Parser-Middleware installieren. Die Eigenschaft wird verwendet, um vom Client gesendete Cookies im Cookies-Header abzurufen. Cookies in den req.cookies sind nicht signiert, das heißt, sie wurden nicht überprüft oder überprüft. Sie können dies für weniger sensible Daten verwenden

import cookieParser from "cookie-parser";

app.use(cookieParser());

app.get('/example', (req, res) => {
  console.log(req.cookies);  // { cookieName: 'cookieValue' }
});
Nach dem Login kopieren

3. Erforderliche signierte Cookies

Um req.signedCookies verwenden zu können, müssen wir das Paket namens Cookie-Parser-Middleware installieren. Diese enthalten Cookies, die signiert und überprüft wurden, um sicherzustellen, dass sie nicht verändert wurden. Ein signiertes Cookie wird mit dem geheimen Schlüssel verschlüsselt. Die req.signedCookies speichern nur die Cookies, die die Überprüfung bestehen.

So setzen Sie signierte Cookies:
Um ein signiertes Cookie zu setzen, können Sie die Option „signed: true“ verwenden:

res.cookie('signedCookieName', 'signedValue', { signed: true });
Nach dem Login kopieren

Beispiel:

import cookieParser from "cookie-parser";

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

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

Nach dem Login kopieren

4. erforderliche Parameter

req.params in Express.js ist ein Objekt, das Routenparameter aus der URL der Anfrage enthält. Routenparameter sind benannte Platzhalter im Routenpfad, und req.params speichert die vom Client bereitgestellten Werte in der URL für diese Platzhalter.
Sie können eine Route mit Parametern definieren, indem Sie vor dem Parameternamen einen Doppelpunkt (:) verwenden.

Beispiel:

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

Nach dem Login kopieren

5. Anforderungsabfrage

req.query in Express.js ist ein Objekt, das die Abfragezeichenfolgenparameter aus der URL der Anfrage enthält. Abfragezeichenfolgen sind Schlüssel-Wert-Paare, die nach dem ? stehen. in einer URL und werden verwendet, um zusätzliche Daten an den Server zu übergeben. Mit & können mehrere Abfragen übergeben werden.

Beispiel-URL:

http://example.com/search?term=flowers&sort=asc
Nach dem Login kopieren

Beispiel:

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}`);
});

Nach dem Login kopieren

6. req.body

Es enthält vom Client gesendete Schlüssel-Wert-Datenpaare. Standardmäßig ist sein Wert undefiniert. Die Körperdaten können mit integrierter Middleware wie express.json und urlencoded({extended: true }) oder externer Middleware wie body-parser gefüllt werden.

Der folgende Code hilft Ihnen beim Verständnis

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);
})
Nach dem Login kopieren

Ich hoffe, Sie fanden das hilfreich! Vergessen Sie nicht, den Beitrag zu liken und zum späteren Nachschlagen aufzubewahren. Viel Spaß beim Codieren!

Das obige ist der detaillierte Inhalt vonWesentliche Express-Request-Eigenschaften, die jeder Entwickler kennen sollte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage