779просмотров
15 августа 2024 г.
Score: 857
Валидация сообщений Kafka Имеем классический CRUD сервис на Spring Boot - контроллер принимает сообщения по HTTP REST API. Перед этим сообщение валидируется в соответствии с расставленными аннотациями вроде @NotEmpty, а после передается в бизнес-слой для верификации данных и выполнения операции в БД. Нужно при получении аналогичного сообщения из топика Kafka выполнить те же валидации и те же операции в бизнес-слое с минимальными изменениями кода. Цель - переиспользовать имеющийся функционал, DRY и SRP. Пример с baeldung - не лучший способ. Spring позволяет настроить валидацию аннотациями. Нужно над классом, в котором расположен вызываемый метод, повесить @Validated и параметр метода пометить @Valid. Примера в сети не нашел, но этот способ описан в документации. А в этом примере таким же способом прям на параметры и результат метода валидации назначены. Не забудьте добавить в контекст тестов Spring Boot ValidationAutoConfiguration.class, если у вас используется не полный контекст. 🍃 Отправь коллеге, держи его в курсе 😉 @kodbaza ⚫ @spring @validation @kafka @rest