我正在为数字服务创建一个应用商店。我希望用户在确认订单和支付服务费之前能够选择不同数量的多个产品。这需要保持状态。来自REST Wikipedia:
来自任何客户的每个请求都包含服务请求所需的所有信息,会话状态保存在客户端中。
我得知我需要留在某个地方,而且我也有流量。我可以管理的流程,但是我不明白应该如何以及在哪里存储的状态。用户可以在退房之前将多个产品添加到购物车。
我想到了这样一个端点,每次你想要的时候都会发布一个cart-item
对象。
POST /shopping-cart
但如果我理解的话,我不应该使用HTTP会话吗?我见过有人说将它存储在数据库中,但是你会使用内存数据库吗?如果用户没有确认并支付,我应该何时刷新数据库?我可能需要一些关于我应该做些什么的输入来保持它简单和RESTful。
我正在使用Spring 4.x和Java EE进行记录。
答案 0 :(得分:1)
但如果我理解的话,我不应该使用HTTP会话吗?
正确。
我见过有人说将它存储在数据库中,但是你会使用内存数据库吗?
您应该留在磁盘存储数据库中。这允许您将节点添加到服务器,而不必担心将所有请求从一个客户端路由到同一节点。
如果用户未确认并付款,我应该何时刷新数据库?
这是一个商业决定。