gpt4 book ai didi

web-services - 关于 Rest "Communicate statelessly"原理

转载 作者:行者123 更新时间:2023-12-04 04:50:32 25 4
gpt4 key购买 nike

其余关键原则之一是不在服务器上维护状态或无状态通信。我想看看这个原理在购物车上是如何工作的?
因此,假设用户是否从购物网站将产品添加到购物车中。在我看来,服务器将有一些实现将购物车置于 session 范围内,用户将发送一个 post 调用以将产品添加到购物车中。例如/shoppingcart/products/1。现在产品会一直添加到购物车中(但不会保存在数据库中),直到用户确认结帐为止。在结账确认期间,购物车项目被持久化到服务器端的数据库中。

这种方法(将商品放入 session 范围内的服务器端的购物车)是否违反了休息原则?如果是,那么我们如何通过照顾“无状态”通信原则来实现将产品添加到购物车?

最佳答案

购物车应作为资源处理,添加/删除产品就像您可以在 REST 中添加或删除任何两个资源之间的关联一样。客户应该说“现在购买购物车中的商品 #187462”,而不是客户说“现在购买我购物车中的商品”。为每个购物车分配一个 URL,并让您的操作针对该资源而不是与当前 session 相关联的某些产品数组进行操作。

另一种无状态的替代方法是让客户端跟踪购物车中的所有商品,但这意味着用户不能将购物车(放弃)留在一台计算机上并在另一台设备上继续购物。

附录:请记住,可以独立分配权限/访问控制。当然,每个购物车都有一个 URL,但一定要让登录的用户只能看到他们创建的购物车资源。

关于web-services - 关于 Rest "Communicate statelessly"原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18057609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com