Java 如何在Spring组件中访问HttpServletResponse?
我有一个spring boot应用程序,带有swagger代码生成器。由于控制器是由swagger yaml自动生成的,我认为我无法修改控制器以访问Java 如何在Spring组件中访问HttpServletResponse?,java,spring,spring-boot,spring-mvc,servlets,Java,Spring,Spring Boot,Spring Mvc,Servlets,我有一个spring boot应用程序,带有swagger代码生成器。由于控制器是由swagger yaml自动生成的,我认为我无法修改控制器以访问HttpServletResponse 是否有方法从用@组件注释的类访问HttpServletResponse 我试图访问HttpServletResponse实例以设置cookie 如果您根本不想接触控制器,那么将使您的bean成为spring过滤器bean。本文详细介绍了如何声明这样的bean。声明后,需要将其绑定到指向控制器方法的url 这取
HttpServletResponse
是否有方法从用@组件注释的类访问HttpServletResponse
我试图访问HttpServletResponse
实例以设置cookie 如果您根本不想接触控制器,那么将使您的bean成为spring过滤器bean。本文详细介绍了如何声明这样的bean。声明后,需要将其绑定到指向控制器方法的url
这取决于您的最终目标。Spring提供了静态类(),您可以使用它从应用程序中的任何位置访问请求/响应:
public void method() {
ServletRequestAttributes ra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (ra != null) {
HttpServletRequest request = ra.getRequest();
HttpServletResponse response = ra.getResponse();
}
}
如果请求已被处理,则ra.getRequest()将返回null
HttpServletResponse已经被注入,您可以将其作为methodFilter或拦截器中的参数。允许访问请求和response@mavriksc正是:)