0
我见过this,但我现在有这个问题。DeferredResult空身体
如果我改变我的控制器返回一个ResponseEntity<?>
机身自带通过罚款,但如果它返回DeferredResult<ResponseEntity<?>>
然后我得到我的头和状态代码,但没有任何反应的身体。
任何帮助,将不胜感激使用DeferredResult
我见过this,但我现在有这个问题。DeferredResult空身体
如果我改变我的控制器返回一个ResponseEntity<?>
机身自带通过罚款,但如果它返回DeferredResult<ResponseEntity<?>>
然后我得到我的头和状态代码,但没有任何反应的身体。
任何帮助,将不胜感激使用DeferredResult
不是简单地改变控制器的响应类型的问题。返回DeferredResult
的控制器可能会将请求的处理委托给线程池(或某种异步机制),实际执行请求的任何人都必须在DeferredResult
上设置响应。事情是这样的:
在控制器:
DeferredResult deferredResult = new DeferredResult<>();
// pass deferredResult into a runnable task (or something similar)
// which is scheduled for execution via a thread pool (or something similar)
return deferredResult;
在其代表控制器的执行请求的任务:
// do some work
// ...
deferredResult.setResponse(responseBody);
是的,我们有一个回调,其套在身上。我发现我们有一个奇怪的过滤器,剥离了链下的响应体。 – Alex