我正在使用 Spring MVC 并正在使用方面来为我的控制器提供建议。我遇到了一个问题:返回带有 @ResponseBody 类型注释的值的控制器。您如何找到应用于返回类型的注释?
@Around("myPointcut()")
private Object checkAnnotations(ProceedingJoinPoint pjp) throws Throwable {
Object result = pjp.proceed();
Method method = ((MethodSignature)pjp.getSignature()).getMethod();
System.out.println("Checking return type annotations.");
for(Annotation annotation : method.getReturnType().getAnnotations()){
System.out.println(annotation.toString());
}
System.out.println("Checking annotations on returned object.");
for(Annotation annotation : result.getClass().getAnnotations()){
System.out.println(annotation.toString());
}
return result;
}
建议的方法:
@RequestMapping("/Test")
public @ResponseBody String doTest(){
return "Test";
}
不幸的是,这些方法似乎都没有达到预期的效果。我可以检索正在返回的对象类型的注释,但不能检索在返回时添加的注释。