【问题标题】:How to process Observable<Response>如何处理 Observable<Response>
【发布时间】:2019-09-19 19:01:02
【问题描述】:
我有一个本地 Spring Boot 应用程序正在访问另一个 PCF 部署的应用程序。 PCF 应用程序给了我学生名单。
我正在使用:
Observable<Response> result = RxObservable.newClient()
.target(url)
.request()
.rx()
.get();
现在我无法从结果Observable 中取回我的List<Student>。
尝试了很多方法,但都没有真正奏效,即订阅结果等。
【问题讨论】:
标签:
spring
spring-boot
jersey
rx-java
reactive-programming
【解决方案1】:
所以在下面挣扎了几个小时之后,现在是解决方案。
Observable observable = result.map(response -> response.readEntity(List.class));
DeferredResult<ResponseEntity<Response>> deferredResult = new DeferredResult(Duration.ofMillis(10000L).toMillis());
observable.subscribe((response) -> {
ResponseEntity<Response> responseData = new ResonseEntity(response, HttpStatus.OK);
deferredResult.setResult(responseData);
}, deferredResult::setErrorResult);
如果可以改进,请提出建议。
谢谢