Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Spring组件中访问HttpServletResponse?_Java_Spring_Spring Boot_Spring Mvc_Servlets - Fatal编程技术网

Java 如何在Spring组件中访问HttpServletResponse?

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 这取

我有一个spring boot应用程序,带有swagger代码生成器。由于控制器是由swagger yaml自动生成的,我认为我无法修改控制器以访问
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正是:)