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(你可以實現)。你不需要爲此定製任何東西。 –