кода стандартного спринга:
Запросили из бд юзера и список его ролей, если юзера нет, создали нового, закинули ему роли. Тут все просто, все получили, проверили, создали/обновили.
У меня же есть Mono.zip в котором я запрашиваю юзера и список его ролей. И вот так как null возвращать нельзя - если юзера нет, то вернется Mono.empty, из за чего из Mono.zip так же уйдет Mono.empty. Писать говно уровня getUserOrCreateEmptyObject мне не нравится. Есть какие то другие подходы? Чето не могу придумать.
это я все знаю. Я там писал что не хочу делать getUserOrCreateEmpty
getUserOrCreateEmpty == service.getUser().switchIfEmpty(createEmpty())
Сделай 3 метода: getUser, который вернет существующего пользователя , createEmptyUser вернет нового пользователя с ролями И какой-нибудь login или что там у тебя по бизнес логике, который вызовет 1й, а затем switchIfEmpty 2й метод
Чем это отличается от сообщения на которое ты ответил?
Обсуждают сегодня