我想創建一個 Spring-Webflux-Service,它將兩個源的資料與一個依賴項相結合。我是 Webflux 的新手,所以我不知道該怎么做。這是一些偽代碼來顯示我正在嘗試做的事情:
@Service
public class ServiceB {
private RepositoryB repositoryB;
private ServiceA serviceA;
public Mono<BigDecimal> calculate(UUID id) {
return repositoryB.findById(id)
.flatMap(b -> serviceA.find(b.getId()))
.flatMap((a, b) -> a b);
}
的結果repositoryB包括我想用 查找的資料的識別符號serviceA。至少我想處理這兩個資料集。我可以用什么方法代替第一種方法flatMap?
uj5u.com熱心網友回復:
您可能想要使用Mono.zipWhen, 將兩者壓縮Monos為一個Tuple:
public Mono<BigDecimal> calculate(UUID id) {
return repositoryB.findById(id)
.zipWhen(b -> serviceA.find(b.getId())
.map(t -> t.getT1().add(t.getT2()));
}
另外,請注意,你不能將兩個BigDecimals同 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/400904.html
標籤:爪哇 春天 弹簧-webflux 反应堆
上一篇:如何為雙向物體映射設計端點
下一篇:根據列舉值設定類欄位
