Я работаю над весенним базовым веб-приложением, где у нас есть несколько RestControllers и несколько классов Request DTO.Запрос DTO содержит поле токена, которое нуждается в некоторой проверке.Поэтому я использовал пружинные валидаторы, чтобы подтвердить это.После проверки мы хотим отправить это поле во внешнюю систему, используя другой REST API (только для некоторой регистрации аналитики).Одно и то же поле повторяется в нескольких объектах DTO и их контроллерах.Таким образом, я легко могу определить аннотации для валидаторов и повторно использовать их в DTO.Но я не уверен, как обработать это поле после успешной проверки (т. Е. Вызвать API-интерфейс аналитики, чтобы использовать это поле после проверки), не смешивая его с базовой логикой контроллеров.
Подходы, о которых я мог подумать:
- Реализация фильтра / перехватчика и обработка поля там.Но есть ограничение, что тело запроса может быть прочитано только один раз, поэтому мне нужно использовать несколько альтернативных способов, создавая оболочки запросов.
- Повторите логику в каждом контроллере, и она очень подвержена ошибкам, как и для каждого нового контроллеранам нужно помнить, чтобы написать этот код.
Но ни один из этих подходов не выглядит чище.Кто-то может порекомендовать лучший способ добиться этого?
Заранее спасибо.