在基于 RESTful 的应用程序中管理状态

2024-05-02

我们正在评估用于基于 Web 的应用程序的技术,一些建议是采用基于 RESTful 的服务方法。 技术堆栈

1) 春天 2)Apache CXF(JAX-RS)

我的问题是

1) 如何在请求之间管理状态。例如,用户已经过身份验证,现在他正在发出一系列请求,比如说浏览分页报告。我想这个的 URL 会是这样的

domain.com/reports/customreport/page/1 domain.com/reports/customreport/page/2 ETC...

a) 用户信息和请求参数存储在哪里,以便可以在请求之间共享。 b) 假设结果正在流式传输,Rowset 存储在哪里?

是否有一个类似于 Petclinic 的完整示例应用程序可以为此类应用程序提供最佳实践。


如果您严格/正确地执行 RESTful,那么用户身份验证将在每个请求中完成,并且不存在会话的概念。每个请求都包含足够的上下文信息(在 URL 和/或请求参数中),以允许其独立于会话工作。

1) 如何在请求之间管理状态。

它必须由客户端管理。

a) 用户信息和请求参数存储在哪里,以便在请求之间共享。

用户身份验证信息由客户端存储并随每个请求提供给服务器。服务器将重新计算每个请求中有关用户的任何派生信息。通常存储在服务器端“会话”中的任何请求参数都必须随每个请求重新传递。

b) 假设结果正在流式传输,Rowset 存储在哪里?

第一瞬间,无处可去。每次都会重新发出查询,并带有一个指示跳到哪里的参数。如果性能是一个问题,你可以

  • 预读结果集的几页并将它们存储在服务器端缓存中,或者
  • 调整查询的数据库查询缓存。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在基于 RESTful 的应用程序中管理状态 的相关文章

随机推荐