如何用Mono平坦地绘制通量?

时间:2018-09-24 13:46:04

标签: java spring-webflux project-reactor

我正在构建一个调用两个REST资源的服务。第一个调用检索项目列表,第二个调用获取列表中每个项目的详细信息。

.../rticles/rmarkdown/templates/plos_article/skeleton/PLOS-submission.eps

我可以看到发送了Flux<Result> search(query) { return client.post().uri("/search") .body(BodyInserters.fromObject(query)) .retrieve() .bodyToMono(SearchResults.class) .flatMapIterable(r -> r.getResults()) .flatMap(this::detail); } Mono<Detail> detail(result) { return client.get().uri("/detail/{id}", result.id) .retrieve() .doOnNext(System.out::println)) .bodyToMono(Detail.class); } 请求,但是从未从我的测试中调用GET /detail/{id}块中的doOnNext

this::detail

此测试失败:

  

java.lang.AssertionError:期望“ assertNext”失败(预期:onNext();实际:onComplete())

在这个阶段,我有点受阻,Reactor文档在这种情况下使用StepVerifier.create(target.search(query)) .assertNext(d -> { assertThat(d.getField()).isEqualTo("detailed"); }) .verifyComplete(); ,看起来好像发送了子请求(有关详细信息)。在看Wirmock时,我看到他能够返回响应,但是我一无所有。

有人知道哪里出了问题吗?

0 个答案:

没有答案