gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:32:27 24 4
gpt4 key购买 nike

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

1) Spring 2) Apache CXF (JAX-RS)

我的问题是

1) 如何在请求之间管理状态。例如,用户已经过身份验证,现在他正在发出一系列请求,假设要查看分页报告。我想这的 URL 会像

domain.com/reports/customreport/page/1domain.com/reports/customreport/page/2等等……

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

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

最佳答案

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

1) How state is managed between requests.

必须由客户端管理。

a) Where is the user information & request parameters are stored so that it can be shared between requests.

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

b) Lets say the result is being streamed, where is Rowset is stored?

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

  • 预读结果集的几页并将它们存储在服务器端缓存中,或者
  • 为查询调整数据库查询缓存。

关于java - 在基于 RESTful 的应用程序中管理状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8611451/

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