我正在使用springboot 1.4.4创建一个异步RESTful API。除了成功处理请求时,DeferredResult
RestController IMPL:
@Async
public DeferredResult<ResponseEntity<String>> parseWithLongDelay(
@RequestBody MyRequestObject req){
DeferredResult<ResponseEntity<String>> result = new DeferredResult<>();
:
:
result.setResult(new ResponseEntity<String>("That big zip file successfully parsed.", HttpStatus.OK));
return result;
}
客户端:
@Test
public void test(){
ListenableFuture<ResponseEntity<String>> futureEntity = new AsyncRestTemplate().postForEntity(url, requestEntity,
String.class);
futureEntity.addCallback(new MyFutureCallback());
:
}
class MyFutureCallback implements ListenableFutureCallback<ResponseEntity<String>> {
@Override
public void onSuccess(ResponseEntity<String> entity) {
String body = entity.getBody();
log.info("response content: " + body);
//always get null body, there is no server side exception or error
//when callback happens
}
}
我期待字符串“That big zip file successfully parsed.”body get return而不是Null?有线索吗?请救命!
我发现在我的例子中,ShalloweTagHeaderFilter
导致了错误。这是我在休息法中为了避免身体空虚所做的:
ShallowEtagHeaderFilter.disableContentCaching(request);
问题内容: 我们正在使用Spring(4.1.1。)实现REST API。对于某些HTTP请求,我们希望返回一个没有主体的头作为响应。但是,使用似乎无效。通过MockMvc测试调用时,返回406(不可接受)。使用不带参数的值()工作正常。 方法: 测试用例(TestNG): 此堆栈跟踪失败: 问题答案: 注意:对于问题4.1.1.RELEASE中提到的版本,这是正确的。 通过来处理返回值。 当Re
问题内容: 请帮助我得到一个where 本身就是一个泛型类型。如我现在所见,Spring RestTemplate现在不支持此功能。我正在使用Spring MVC版本3.1.2 这是我要使用的代码:代码: 我收到此错误: 这是明显的错误,但是今天如何解决呢? 比我想得到我的通用响应类型: 现在,我使用此解决方案,并且不使用: 问题答案: 通过引入修复了该问题,你可以显式继承该参数化类型,以便在运行
我正在创建一个RESTFul Web服务,其可用服务如下: 当空列表返回时,我将在浏览器中得到以下响应:
问题内容: 我正在使用Spring Framework 4.0.7,MVC和Rest 我可以在以下方面安心工作: 例如: 用的方法(只是创建) 退还一些东西 工作良好 我可以用 : (我知道它与+ 相同) 例如: 用的方法(只是创建) 退还一些东西 我的问题是: 如果 出于确凿的原因 或 特定情况, 必须强制使用另一种选择 如果(1)无关紧要,则建议采用什么方法以及为什么。 问题答案: 旨在表示整
我也得到了200的回复,但没有身体的数据
null 例如: 方法(只创建) 归还某物 null null