169 похожих чатов

Кто тут с опытом работы webflux? Представим ситуацию из обычного

кода стандартного спринга:
Запросили из бд юзера и список его ролей, если юзера нет, создали нового, закинули ему роли. Тут все просто, все получили, проверили, создали/обновили.
У меня же есть Mono.zip в котором я запрашиваю юзера и список его ролей. И вот так как null возвращать нельзя - если юзера нет, то вернется Mono.empty, из за чего из Mono.zip так же уйдет Mono.empty. Писать говно уровня getUserOrCreateEmptyObject мне не нравится. Есть какие то другие подходы? Чето не могу придумать.

4 ответов

15 просмотров
Andrew-Yatsenko Автор вопроса

это я все знаю. Я там писал что не хочу делать getUserOrCreateEmpty

Andrew-Yatsenko Автор вопроса

getUserOrCreateEmpty == service.getUser().switchIfEmpty(createEmpty())

Andrew Yatsenko
getUserOrCreateEmpty == service.getUser().switchIf...

Сделай 3 метода: getUser, который вернет существующего пользователя , createEmptyUser вернет нового пользователя с ролями И какой-нибудь login или что там у тебя по бизнес логике, который вызовет 1й, а затем switchIfEmpty 2й метод

Andrew-Yatsenko Автор вопроса
Igor F
Сделай 3 метода: getUser, который вернет существую...

Чем это отличается от сообщения на которое ты ответил?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта