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.
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);
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}`); });
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' } });
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 });
Beispiel:
import cookieParser from "cookie-parser"; app.use(cookieParser('your-secret-key')); app.get('/example', (req, res) => { console.log(req.signedCookies); // { signedCookieName: 'signedValue' } });
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}`); });
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
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}`); });
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); })
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!