加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 08:46:21 所属栏目:Java 来源:网络整理
导读:我们正在评估用于基于Web的应用程序的技术,并且一些建议是采用基于RESTful的服务方法. 技术堆栈 1)春天 2)Apache CXF(JAX-RS) 我的问题是 1)如何在请求之间管理状态.例如,用户已经过身份验证,现在他正在发出一系列请求,让我们通过分页报告.我想这会是这样的U
我们正在评估用于基于Web的应用程序的技术,并且一些建议是采用基于RESTful的服务方法.
技术堆栈

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

我的问题是

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

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

a)用户信息&存储请求参数,以便可以在请求之间共享.
??b)让我们说结果是流式传输,Rowset存储在哪里?

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

解决方法

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

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.

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

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

在第一个瞬间,无处可去.每次使用参数说明要跳到的位置重新发出查询.如果性能是一个问题,你可以

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读