@Devero97

Как обработать 2 get запроса сразу?

У меня есть страницы: категория и товар (карточка). Я отправляю гет запрос с двумя динамическими параметрами. Например, localhost:3000/category-example/jeans. После этого я хочу проверить есть ли второй запрос (jeans) в первом запросе (category-example). Каждая карточка содержит в себе массив с айдишниками категорий в которых она присутствует. При переходе на товар я должен проверить существует ли товар этот в той категории, по которой перешел пользователь. Чтобы при переходе на localhost:3000/category-error/jeans показывало ошибку пользователю. Как можно это реализовать ? Я придумал только перебрать массив с айдишниками и если там нет моего айдишника категории, то выдавать ошибку. Но правильно ли это?
Вот обработка запроса:
exports.getCard = asyncHandler(async (req, res, next) => {

  const card = await Card.findOne({ card: req.params.card })
    .populate("tags")
    .populate("reviews");

  if (!card) {
    return next(
      new ErrorResponse(`Not found with slug of ${req.params.card}`, 404)
    );
  }

  const tag = card.tags.filter(item => req.params.tag == item.tag);
  if (tag.length == 0) {
    return next(
      new ErrorResponse(`Not found with slug of ${req.params.card}`, 404)
    );
  }

  res.status(200).json(card);
});

Сначала я смотрю есть ли сам товар и в зависимости от ответа вывожу либо ошибку либо перенаправляю на страницу.
Затем я беру категории у карточки(товара) и сверяю их с моим динамическим параметром категории. И если он есть, то все гуд, а если нет - вывожу ошибку.
Правильно ли я поступаю в этом случае?
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы