我使用spring aop拦截Get Web服务调用,为此,这是我的代码:
@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 Web服务时,上面的代码从未被调用(Web服务正常工作),但是当我通过@annotation(org.springframework.transaction.annotation.Transactional)
更改注释时,相同的代码也可以工作
更新(由@kriegaex编辑,从评论中复制):
@Nikolas界面中的代码为
@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();
}