Использование Spring Reactor Mono с несколькими переключателямиJAVA

Программисты JAVA общаются здесь
Anonymous
Использование Spring Reactor Mono с несколькими переключателями

Сообщение Anonymous »

У меня был простой поток валидации Java, как этот пример: < /p>

Код: Выделить всё

if (!request.isValid()) {
throw new ValidationException("Its not valid");
}

if (!request.isCorrect()) {
throw new IncorrectException();
}

return Mono.just(
someService.process(request)
);
Я попытался цепорить вызовы методов, чтобы избавиться от IFS , но это не работает:

Код: Выделить всё

return Mono.just(request)
.filter(req -> !req.isValid())
.switchIfEmpty(Mono.error(new ValidationException("Its not valid")))
.filter(req -> !req.isCorrect())
.switchIfEmpty(Mono.error(new IncorrectException()))
.flatMap(req -> Mono.just(someService.process(req)));
Проблема заключается в том, что даже если она не удается на isvalid () код продолжается, а второй переключатель перезаписывает первый.>

Подробнее здесь: https://stackoverflow.com/questions/634 ... tchifempty

Вернуться в «JAVA»