Как получить реактивные данные издателя в наборе наборов и установить их в другом классе объектов реактивного издателя
У меня есть два документа модели класса. Один - RuleSet, а другой - Rule. Один RuleSet может иметь много правил. Но когда мы сохраняем, мы сохраняем правила в другом документе и RuleSet в другом документе.
Когда остальные API-вызовы / ruleSet URI, чтобы получить все детали ruleSet, я хочу вызвать ruleSetRepository.findAll(), который возвращает Flux
а также
тогда я хочу вызвать ruleRepository.findAll() и собрать все правила в виде списка
затем
ruleSet.SetRules(список правил из ruleRepository).
Мне нужен пример кода для достижения этой цели.
Заранее спасибо.
1 ответ
Это можно сделать примерно так
rulesRepository
.findAll()
.collectList()
.map(l -> {
RuleSet ruleSet = new RuleSet("myRuleSet");
ruleSet.setRules(l);
return rulesSetRepository.save(ruleSet);
})
rulesRepository.findAll
вернул бы поток и collectList
превратит его в Mono<List<>>
который может быть сопоставлен с Mono, возвращенным путем сохранения с использованием списка. Этот код должен быть настроен для обработки синхронизации и обработки ошибок.