gpt4 book ai didi

rest - 如何在 REST 中管理状态

转载 作者:行者123 更新时间:2023-12-03 08:47:52 27 4
gpt4 key购买 nike

我想这个问题听起来很熟悉,但我是另一个对 REST 感到困惑的程序员。

我有一个传统的 Web 应用程序,它从 StateA 到 StateB 等等。
如果用户访问 StateB 的(URL),我想确保他之前访问过 StateA。
传统上,我使用 session 状态来执行此操作。

由于 REST 中不允许使用 session 状态,我该如何实现?

最佳答案

对此有 2 个 REST 答案,具体取决于您要尝试做什么。

如果您真正尝试管理基于请求的状态(例如当用户通过多屏幕向导或其他一些基于导航的工作流工作时),那么 REST 的答案是该状态应该与每个请求/响应(使用诸如隐藏文本字段、查询字符串或存储在表单中的 POST 数据之类的东西)。这是 Martin Fowler 的“客户端状态”设计模式的实现(在他的《企业应用程序架构模式》一书中有详细介绍;参见 here for a reference)。

另一方面,如果您试图管理服务器上的某种新对象——例如购物车——那么 REST 的答案是您实际上正在创建一个新实体,该实体可以像任何其他实体一样被访问一个直接的网址。是将这个新实体存储在数据库中还是应用程序内存中(如传统的 Session 对象)取决于您,但是,无论哪种方式,新对象都与服务器上的“状态”无关,而更多地与创建新对象有关供用户交互的实体。

关于rest - 如何在 REST 中管理状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2641901/

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