应用 CORS 策略 Spring Boot 后的空响应

Empty response after aplying CORS policy Springboot

当我不涉及任何有关 CORS 的内容时,浏览器会向我显示常见错误

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

但同时在邮递员上进行 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() {
    }

}

我不再有浏览器错误,但现在,在邮递员上发出相同的 GET 请愿书,响应是空的,我不知道这里有什么干扰

您需要通过在方法末尾调用 chain.doFilter(request, response); 将 request/response 对转发到 FilterChain