为了账号安全,请及时绑定邮箱和手机立即绑定

系统设计:如何设计允许异步查询结果的 RESTful API

系统设计:如何设计允许异步查询结果的 RESTful API

侃侃尔雅 2023-03-31 17:17:22
我需要构建一个/search允许某人发送 POST 的 API,并检索一个稍后可以通过单独的/resultsAPI 查询的 ID。我看过 Spring 方法:DeferredResult @Async但似乎都没有证明从搜索中返回 ID。我需要一个可以记住 ID 并在有人调用 API 检索/results特定搜索结果时引用它的系统。是否有 Spring 应用程序执行此操作的示例
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

您必须记住 Restful 服务是无状态的,因此将搜索结果状态保存在服务器中并不是一个好习惯。

一种解决方案是将搜索状态存储在数据库 (SQL/NoSQL) 上,并使用Spring Cache支持来缩短响应时间。

当用户使用 请求新搜索时/search,您必须在服务器上生成 ID,准备结果并将其保存在数据库中,然后将新 ID 发送到客户端。稍后客户端必须使用请求其结果/results/{searchId}


查看完整回答
反对 回复 2023-03-31
  • 1 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信