提问者:小点点

应用 CORS 策略 Springboot 后的空响应


当我不接触任何关于CORS的东西时,浏览器会向我显示常见错误

CORS策略阻止了从源http://localhost:3000获取http://localhost:8080/denodo-testwebapp/tags的访问

但与此同时,在邮递员上做一个GET请愿书,我用所有数据来回复

  GET http://localhost:8080/test-webapp/tags/

Response: [
    {
        "name": "Tag1"
    },
    {
        "name": "Tag12"
    },
    {
        "name": "Tag123"
    }
]

但当我试图通过添加以下代码禁用CORS时:

@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class MyConfiguration implements Filter {

    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {

        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) res;

        response.setHeader("Access-control-Allow-Origin", "http://localhost:3000");
        response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, HEAD,OPTIONS, DELETE");
        response.setHeader("Access-Control-Allow-Headers", "Accept, Accept-Language, Authorization, Cache-Control, Content-Language, Content-Type, X-Requested-With");
        response.setHeader("Access-Control-Exposed-Headers", "Accept-Ranges, Access-Control-Allow-Credentials, Access-Control-Allow-Origin, Cache-Control, Content-Language, Content-Length, Content-Type, Date, ETag, Expires, Last-Modified, Location, Pragma, Server, Transfer-Encoding, Vary, WWW-Authenticate");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Credentials", "true");

    }

    public void init(FilterConfig filterConfig) {
    }

    public void destroy() {
    }

}

我不再有浏览器错误,但现在,在postman上做同样的GET请愿书,响应是空的,我不完全知道这里插入了什么


共1个答案

匿名用户

您需要通过调用链沿过滤器链转发请求/响应对。doFilter(请求、响应)