如何处理Observable <Response>

时间:2019-09-19 19:01:02

标签: spring spring-boot jersey rx-java reactive-programming

我有一个本地spring boot应用程序,正在与另一个PCF部署的应用程序对接。 PCF应用程序给了我学生列表。

我用以下方法击中相同的东西

Observable<Response> result = RxObservable.newClient()
  .target(url)
  .request()
  .rx()
  .get();

现在我无法从结果List<Student>中恢复我的Observable

尝试了很多方法,但没有真正起作用,即订阅结果等。

1 个答案:

答案 0 :(得分:0)

因此,在奋斗了几个小时之后,下面是当前的解决方案。

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);

请提出建议,如果可以改进的话。

谢谢