首页 > 解决方案 > 在 Spring 2.5 中使用注释从 AOP 建议(在 @After 注释中)访问 HttpServletResponse

问题描述

我试图找到这个问题的答案。我发现很多页面描述了可怕的架构并要求与我做的事情大致相同,但我的预期用途不同,所以请多多包涵:-)

@After(value = "@annotation(test.Customannotation) && @annotation(custom)", argNames="custom")
public void increaseCounter(Customannotation custom){
        // Here I want HttpServeletResponse
}

我已经使用下面的代码来获取但它不起作用

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
ServletWebRequest servletWebRequest=new ServletWebRequest(request);
HttpServletResponse response=servletWebRequest.getResponse(); // it is coming as null

我努力了

@Autowired
HttpServletResponse httpServletResponse;

但似乎它也不起作用。httpServletResponse.getStatus() 返回 200,但 api 返回的实际响应是 208。

标签: spring-aop

解决方案


推荐阅读