Я не могу перехватить веб-сервис отдыха с помощью Spring AOP Pointcut - PullRequest
0 голосов
/ 23 ноября 2018

Я использую Spring AOP для перехвата вызова веб-службы Get, для этого это мой код:

@Aspect
@Component
public class RestInterceptor {
    @Around("@annotation(javax.ws.rs.GET)")
    public Object authorizeGetMethod(final ProceedingJoinPoint pjp) {
        Object value = null;
        try {
            value = pjp.proceed();
        }
        catch (Throwable e) {
            e.printStackTrace();
        }
        return value;
    }
}

Когда я вызываю веб-службу Get, указанный выше код никогда не вызывается (веб-службаработает правильно), но тот же код работает, когда я изменяю аннотацию на @annotation(org.springframework.transaction.annotation.Transactional)


Обновление (редактирование @kriegaex, скопировано из комментария):

@ Николай код в интерфейсе:

@GET
Response getAll(
    @QueryParam("q") String filter,
    @QueryParam("field") List<String> fields
);

и реализация

@Override public Response getAll(String filter, List<String> fields) {
    return Response.ok(
        // this.getConverter(this.getService().findAll(filter), fields)
    ).build();
}
...