если в методе гет у меня возвращается ResponseEntity<Объект>, но сам метод ничего не находит. Как бороться с валидацией в данном случае? ResponseEntity<?> ? Или есть какие то более изящные решения
Апи твое в идеале должно возвращать Optional, а дальше через .map преобразуешь в ResponseEntity#ok, иначе orElseGet - ResponseEntity#notFound
или orElse )) или orElseThrow) крч такое се Причем про orElseGet и orElse надо доку просто почитать
Ну первый не будет ленивым, второй про вариант выше с обработчиком эксепшенов, для себя остановился на варианте с Optional, все в стиле REST, нет ресурса? 404
так, вот про ленивость мы как раз недавно с разрабом обсуждали. Главное почитать доку. Оба варианта не исполнятся, если условие не выполнено. Тут не надо путать
Дело не в исполнении, в orElse вычисленное значение подставляется, а в orElseGet - Supplier
ну мы считай обсуждаем про ++i или i++
Да не, разница может быть существенной
Понял, сейчас попробую. Большое спасибо
Согласен, не прав что неправильно выразил мысль. Но хотел сказать что не стоит забывать и про orElse, бывает полезным. У нас часто)
Если там константа или фоллбэк несложный, который часто выполняется (то есть опшионал часто пустой) - можно его
у нас тупая бизнес логика с легаси, который нам посылает данные, а мы обязаны его сохранить. Если не нашли, то пишем object::new
Ну если объект у вас каждый раз новый, то очевидно orElseGet, вы даже сами метод референс указали, а если один объект заглушка на все случаи, то orElse
есть шорткат https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/ResponseEntity.html#of(java.util.Optional)
Обсуждают сегодня