Как заменить сеанс апатридом?
Итак, я пытаюсь создать веб-архитектуру корзины покупок в рамках отдыха, где я изо всех сил стараюсь использовать хранилища браузеров для использования в качестве альтернативы сохранению состояния.
Я попробовал API window.localStorage и window.sessionStorage(), но в случае приватного режима просмотра в Safari и Opera он не удался.
Так может ли кто-нибудь помочь в определении других методов, с помощью которых я могу поддерживать состояния в архитектуре, основанной на отдыхе?
Для хранения состояния приложения вам не нужны сеансы. Пользовательские ресурсы.
При подходе было бы моделировать каждую корзину покупок как ресурс с уникальным идентификатором:
/shop/shoppingcarts/E73AC56C-BDF7-11E5-81F1-8E2EDB915C80
Клиентское приложение в браузере прочитало бы этот ресурс:
GET /shop/shoppingcarts/E73AC56C-BDF7-11E5-81F1-8E2EDB915C80
Он добавит товар в корзину:
POST /shop/shoppingcarts/E73AC56C-BDF7-11E5-81F1-8E2EDB915C80/items
{
"itemId": "1234",
"quantity": 1
}
Он будет перечислять содержимое корзины покупок:
GET /shop/shoppingcarts/E73AC56C-BDF7-11E5-81F1-8E2EDB915C80/items
[
{
"itemId": "1234",
"title": "Some nice item",
"quantity": 1,
"price", 12.34,
"priceTotal": 12.34
},
{
"itemId": "9876",
"title": "Some other nice item",
"quantity": 2,
"price", 0.99,
"priceTotal": 1.98
}
]
Веб-приложение удалит элемент из корзины:
DELETE /shop/shoppingcarts/E73AC56C-BDF7-11E5-81F1-8E2EDB915C80/items/9876
Я думаю, вы поняли.
- Вопросы
- Web-storage
- Как заменить сеанс апатридом?