API Проверка корзины при получении запроса

Каков наилучший подход к обработке ошибок состояния модели для корзины для пользователя, который загружает корзину из API?

Сценарий:

  1. Пользователь добавляет товар в корзину (корзина действительна на момент ее создания)
  2. Товар снят (например, был установлен как недоступный или цена изменилась с момента добавления пользователем в корзину) (это можно сделать вне API)

Если клиент делает два запроса:

  1. Получить корзину
  2. Подтвердить корзину (немного в стиле RPC)

Другой способ сделать это может быть расширение модели представления ответов с помощью «ошибок», которые могут быть заполнены всякий раз, когда пользователь ПОЛУЧАЕТ его через API. Хотя не уверен, что это хорошая практика.

Каким будет RESTful способ решения этой проблемы?

Заранее спасибо за помощь

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
13
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

What would be the RESTful way of solving this problem ?

Как бы вы сделали это с веб-страницей?

Вероятно, это будет одна веб-страница, верно? Содержит

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

Another way of doing it might be extending the response view model with 'errors' that might get populated whenever user GET it via API. Not sure though if this is good practice though.

Это нормально — модель ресурсов — это не модель предметной области, это не модель данных. Ваши «ресурсы» — это документы, поддерживающие взаимодействие с доменом.

См. также: Уэббер 2011.

Другие вопросы по теме