我需要构建一个/search
API,该API允许某人发送POST,并检索一个ID,以后可以通过单独的/results
API查询该ID。
我看过Spring方法:
DeferredResult
@Async
,但似乎都没有证明从搜索返回ID。我需要一个能够记住ID并在有人调用/results
API来检索搜索特定结果时引用它的系统。
是否有Spring应用程序执行此操作的示例
答案 0 :(得分:0)
您必须记住,Restful服务是无状态的,因此将搜索结果状态保留在服务器中不是一个好习惯。
一种解决方案是将搜索状态存储在数据库(SQL / NoSQL)上,并使用Spring Cache支持来缩短响应时间。
当用户使用/ search请求新搜索时,必须在服务器上生成ID,准备结果并将其保存在数据库中,然后将新ID发送给客户端。稍后,客户必须使用/ results / {searchId}请求结果。
请让我知道您是否将使用此可能的解决方案,我将在 Github
上向您分享一个示例