Java Проверка метода и возврат сообщения на основе входных параметров - PullRequest
0 голосов
/ 26 мая 2020

У меня есть сценарий, в котором мне нужно генерировать исключение, когда метод возвращает нулевой объект, а также настраивать ответ на основе параметров, отправленных в метод.

У меня есть интерфейс, который имеет некоторые методы, теперь я хочу убедиться, что тот, кто реализует этот метод, выполняет базовую c проверку (определенную аннотацией или что-то в этом роде), например, нулевую проверку. Таким образом, после переопределенного метода вызывается проверка

Например:

@NotNull
User getUser(Integer id)

if response is Null then
"User not available for id:" + id

Я пробовал использовать проверку javax @NotNull, но он не предоставляет параметры, отправленные методу , есть ли способ добиться этого с помощью проверки javax.

Еще одна вещь, которую я пробовал, - это использование аннотации управления AOP @Around, и мне удалось получить ответ и параметры, которые хотели убедиться, есть ли другой способ достичь этого, как указано, аннотация на интерфейсе невозможна на AOP LINK .

Другой вариант - использовать шаблон декоратора, но включает в себя много кодирования на пластине

@InterceptorBinding
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface MethodInterceptorBinding { }

@Interceptor
@MethodInterceptorBinding
public class MethodInterceptor {

    @AroundInvoke
   public Object validateMethodInvocation(InvocationContext ctx)
        throws Exception {

   }

}

Пробовал CDI, но MethodInterceptor не вызывается в приложении весенней загрузки, нужно ли мне регистрировать эти перехватчики, если да, то как?

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