Java проверка метода рекурсивного метода - PullRequest
0 голосов
/ 06 марта 2020

В приложении Spring Boot у меня есть класс обслуживания, помеченный @Service и @Validated. В этом классе у меня есть метод экземпляра publi c, в котором аргументы снабжены аннотациями с ограничениями. Таким образом, перед вызовом метода аргументы метода проверяются, чтобы проверить, соответствуют ли они этим ограничениям. Это работает, если метод вызывается из другого класса. Но если этот метод рекурсивный, его аргументы не проверяются, так как метод вызывается из класса, в котором находится метод. Как мне решить эту проблему?

1 Ответ

0 голосов
/ 06 марта 2020

Предполагая, что вы не используете какое-либо общее состояние в классе Service, вы можете получить бин того же типа и вызвать свой рекурсивный метод. Это, однако, кажется немного странным и не будет моим первым вариантом.

Я рекомендую перенести валидации в код метода. Это решит вашу текущую проблему, в то же время позволяя вашим проверкам быть расширяемыми, а также позволяя вам тестировать их отдельно. В зависимости от их сложности, вы можете иметь их в отдельном классе, например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...