«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Основные свойства экспресс-запроса, которые должен знать каждый разработчик

Основные свойства экспресс-запроса, которые должен знать каждый разработчик

Опубликовано 8 ноября 2024 г.
Просматривать:893

ssential Express Request Properties Every Developer Should Know

При работе над серверной частью проектов обработка запросов и ответов имеет решающее значение. Эффективное управление этими запросами важно для бесперебойной связи между клиентом и сервером. Вот некоторые распространенные и важные свойства запроса, с которыми должен быть знаком каждый разработчик.

1. требуемый IP-адрес

req.ip в Express.js — это свойство объекта запроса, которое предоставляет IP-адрес клиента, отправляющего запрос. Он возвращает строку, представляющую IP-адрес клиента.

Обработка прокси:
По умолчанию, если приложение находится за прокси-сервером, req.ip может возвращать IP-адрес прокси-сервера, а не IP-адрес реального клиента. Чтобы получить правильный IP-адрес клиента, вы можете настроить Express для доверия прокси-серверу, установив доверенный прокси.

app.set("trust proxy", true);

Теперь req.ip будет возвращать правильный IP-адрес клиента, даже если он находится за прокси-сервером.

Пример:

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

2. обязательные файлы cookie

Чтобы использовать req.cookies, нам необходимо установить пакет под названием промежуточное ПО cookie-parser. Свойство используется для получения файлов cookie, отправленных клиентом, в заголовке Cookies. Файлы cookie в req.cookies не подписаны, что означает, что они не были изменены или проверены. Вы можете использовать это для менее конфиденциальных данных

import cookieParser from "cookie-parser";

app.use(cookieParser());

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

3. req.signedCookies

Чтобы использовать req.signedCookies, нам необходимо установить пакет под названием промежуточное ПО cookie-parser. Он содержит файлы cookie, которые были подписаны и проверены, чтобы гарантировать, что они не были изменены. Подписанные файлы cookie шифруются секретным ключом. В req.signedCookies сохраняются только файлы cookie, прошедшие проверку.

Как установить подписанные файлы cookie:
Чтобы установить подписанный файл cookie, вы можете использовать опцию «signed: true»:

res.cookie('signedCookieName', 'signedValue', { signed: true });

Пример:

import cookieParser from "cookie-parser";

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

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

4. обязательные параметры

req.params в Express.js — это объект, содержащий параметры маршрута из URL-адреса запроса. Параметры маршрута представляют собой именованные заполнители в пути маршрута, а req.params сохраняет значения, предоставленные клиентом в URL-адресе для этих заполнителей.
Вы можете определить маршрут с параметрами, используя двоеточие (:) перед именем параметра.

Пример:

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

5. запрос запроса

req.query в Express.js — это объект, содержащий параметры строки запроса из URL-адреса запроса. Строки запроса — это пары ключ-значение, которые идут после знака ? в URL-адресе и используются для передачи дополнительных данных на сервер. Несколько запросов могут быть переданы с помощью &.

Пример URL:

http://example.com/search?term=flowers&sort=asc

Пример:

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

6. необходимое тело

Он содержит пары ключ-значение данных, отправленных клиентом. По умолчанию его значение не определено. Данные тела могут быть заполнены с использованием встроенного промежуточного программного обеспечения, такого как express.json и urlencoded({ расширенный: true }), или внешнего промежуточного программного обеспечения, такого как body-parser.

Следующий код поможет вам понять

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

Надеюсь, это было вам полезно! Не забудьте поставить лайк и сохранить для дальнейшего использования. Приятного кодирования!

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/atul_thakre_a3ed87610e45f/6-essential-express-request-properties-every-developer-should-know-3ig7?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected] удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3