У меня есть сервисный интерфейс со многими методами, каждый из которых принимает объект Request и возвращает объект Response.Все объекты запроса имеют общего предка, а все объекты ответа имеют другого общего предка (который имеет флаг успеха и поле сообщения).
Теперь я хочу иметь аспект обхода, который проверяет разрешения и т. Д., Выполняет обслуживаниеВызовите и возвращает объект Response с кодом ошибки, если что-то не получается.Проблема в том, что мне нужно знать, какой тип объекта Response создать.Есть ли выражение pointcut, которое дает мне доступ к типу возвращаемого значения?Может быть, как-то так?
@Around(value = "execution(public *"
+ " com.mycompany.MyService+.*(..))"
+ " && args(request)"
+ " && returning( returnType)" // something like this would be nice
, argNames = "request,returnType")
public Object handleServiceCall(final ProceedingJoinPoint pjp,
final Request request,
final Class<? extends Response> returnType){ ... }