如何将会话替换为无状态 REST API



所以,我正在尝试在 rest 框架上制作一个购物车 Web 架构,我正在努力使用浏览器存储作为维护状态的替代方案。

我尝试了window.localStorage和window.sessionStorage()API,但在Safari和Opera中的隐私浏览模式下失败了。

那么任何人都可以帮助找出其他方法,通过这些方法我可以在基于休息的架构中维护状态?

不需要会话来存储应用程序状态。用户资源。

方法是将每个购物车建模为具有唯一 ID 的资源:

/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
  }
]

Web 应用程序将从购物车中删除商品:

DELETE /shop/shoppingcarts/E73AC56C-BDF7-11E5-81F1-8E2EDB915C80/items/9876

我想你明白了。

最新更新