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

Стековое приложение MERN | Часть 2

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

MERN Stack Application| Part 2

В контексте приложения электронной коммерции, созданного с использованием стека MERN, давайте рассмотрим, как работает цикл запрос-ответ, когда пользователь пытается получить сведения о продукте.

  1. Взаимодействие с пользователем во внешнем интерфейсе (React)

Пользователь открывает сайт электронной торговли и хочет просмотреть подробную информацию о продукте. Они могут нажать на список продуктов или выполнить поиск определенного товара.

React, отвечающий за интерфейсный интерфейс, обнаруживает это взаимодействие и запускает запрос на получение данных о продукте.

React отправляет HTTP-запрос (с использованием axios, fetch и т. д.) к бэкэнду, ориентируясь на конечную точку, например /api/products/:id, где :id — уникальный идентификатор продукта.

  1. HTTP-запрос отправлен на серверную часть (Node.js/Express)

Внутренний сервер, созданный на основе Node.js и Express, прослушивает входящие HTTP-запросы по определенным маршрутам.

Когда поступает запрос к /api/products/:id, Express распознает маршрут и перенаправляет запрос соответствующему обработчику маршрута.

  1. Обработка промежуточного программного обеспечения (необязательно)

Прежде чем запрос будет обработан, он может пройти через функции промежуточного программного обеспечения.

Например, промежуточное программное обеспечение может регистрировать детали запроса, проверять, аутентифицирован ли пользователь, или проверять параметры запроса.

Если все в порядке, запрос передается обработчику маршрута. В противном случае промежуточное ПО может вернуть ответ об ошибке (например, «Несанкционированный доступ»).

  1. Взаимодействие с базой данных (MongoDB)

Как только запрос достигает соответствующего обработчика маршрута, Express использует драйвер MongoDB, такой как Mongoose, для запроса к базе данных.

Запрос может выглядеть следующим образом: Product.findById(productId), где ProductId извлекается из URL-адреса.

MongoDB извлекает из базы данных сведения о продукте, включая его название, цену, описание, изображения и информацию о наличии.

  1. Подготовка и отправка ответа

После получения сведений о продукте из MongoDB Express обрабатывает данные.

Данные форматируются в объект JSON, содержащий всю необходимую информацию о продукте.

Express отправляет этот ответ JSON обратно в интерфейс React.

  1. React получает и обновляет пользовательский интерфейс

React получает в ответ подробную информацию о продукте.

Он использует данные для обновления пользовательского интерфейса, показывая название продукта, цену, изображения, описание и другую соответствующую информацию.

Если продукт не найден или возникает ошибка (например, «Продукт недоступен»), React отображает соответствующее сообщение пользователю.

Пример потока запроса-ответа

  1. Действие пользователя (реакция): пользователь нажимает на продукт под названием «Беспроводные наушники» на домашней странице.

  2. HTTP-запрос: React отправляет запрос GET на адрес /api/products/12345, где 12345 — это идентификатор продукта для «Беспроводные наушники».

  3. Обработка экспресс-маршрутов: Express получает запрос и проверяет, существует ли маршрут для /api/products/:id. Затем он передает запрос соответствующему обработчику.

  4. Запрос к базе данных (MongoDB): Express использует Mongoose для запроса MongoDB, выполняя Product.findById("12345") для получения сведений о «Беспроводных наушниках».

  5. Формирование ответа: если продукт найден, Express отправляет ответ в формате JSON с такой информацией, как:

{
"id": "12345",
"name": "Беспроводные наушники",
"цена": 59,99,
"description": "Высококачественные беспроводные наушники с шумоподавлением.",
"images": ["image1.jpg", "image2.jpg"],
"сток": 20
}

  1. Пользовательский интерфейс обновлений React: React получает эти данные и отображает их, показывая пользователю все о «беспроводных наушниках». Если возникнет ошибка (например, «Продукт не найден»), React покажет соответствующее сообщение.

Ключевые понятия, проиллюстрированные в этом блоке

Асинхронные запросы: React обрабатывает запросы асинхронно, позволяя пользователю взаимодействовать с приложением, ожидая ответов.

Последовательный поток данных: все компоненты (React, Express, MongoDB) взаимодействуют через JSON, обеспечивая плавный поток данных в стеке.

Масштабируемость: каждый компонент можно масштабировать независимо, что упрощает обработку растущего трафика или большого количества продуктов.

Этот цикл запрос-ответ эффективно демонстрирует, как сайт электронной коммерции, созданный на основе стека MERN, извлекает информацию о продукте, обеспечивая удобство работы пользователя.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/mrcaption49/mern-stack-application-part-2-1kjj?1. В случае нарушения авторских прав свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

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

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

Copyright© 2022 湘ICP备2022001581号-3