2
博客文章http://farazdagi.com/blog/2014/rest-long-running-jobs(以及引用的资源)建议使用REST时,立即等待长时间运行的工作春RestController异步结果
- 返回的有效载荷如果结果是已经可用时使用下面的场景返回请求。看起来像状态码OK的标准请求。
- 进行响应状态代码中使用GET并等待异步结果首标改变要么接受,并添加一个位置,以及一个异步结果首标,让客户认识到,他们应该...
- 投票返回的位置可用或取消。
- 如果可用状态码SEE_OTHER,则返回另一个位置标题。按照地点获取结果。
我知道我可以返回例如一个CompletableFuture
从一个方法,但这将阻止请求,直到未来完成。在Spring MVC中是否支持这种行为,或者有什么方法可以增强Spring MVC来实现此行为(例如,实现org.springframework.web.method.support.HandlerMethodReturnValueHandler
?)
您已经可以做到这一点。没有什么能够阻止你使用常规的'@ RestController'来做这件事......你将有1个方法返回1或2.如果是2,你的客户端需要轮询给定的URL(你可以实现)。你不需要为此定制任何东西。 –