我在下面的"return Mono.justOrEmpty(routeLink.getComplianceIds())“”行的方法中得到了这个错误
private Flux<BOLCompliance> getComplienceRouteLink(BOLRouteLink routeLink, BillOfLadingResponse bol) {
return Mono.justOrEmpty(routeLink.getComplianceIds())
.flatMapMany(Flux::fromIterable)
.flatMap(id -> complianceCaller.getComplianceById(id))
.map(compliance -> createComplianceResponse(compliance, bol));
}routeLink.getComplianceIds()返回String类型的列表,createComplianceResponse返回BOLCompliance类型的Mono,complianceCaller.getComplianceById(Id)返回Compliance类型的Mono
public Mono<Compliance> getComplianceById(String complianceID);
private Mono<BOLCompliance> createComplianceResponse(Compliance compliance, BillOfLadingResponse bol);发布于 2021-10-20 07:00:20
你的
.map(compliance -> createComplianceResponse(compliance, bol));应该是
.flatMap(compliance -> createComplianceResponse(compliance, bol));因为您的返回类型是createComplianceResponse的Mono<BOLCompliance>,并且您希望BOLCompliance沿着流进一步向下移动,而不是Mono对象。在您的示例中,生成的通量为Flux<Mono<BOLCompliance>>。
https://stackoverflow.com/questions/69638491
复制相似问题