Как получить реактивные данные издателя в наборе наборов и установить их в другом классе объектов реактивного издателя

У меня есть два документа модели класса. Один - 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, возвращенным путем сохранения с использованием списка. Этот код должен быть настроен для обработки синхронизации и обработки ошибок.

Другие вопросы по тегам