Spring 4.1 MVC 有 Cors 支持吗?

Che*_*tah 1 spring spring-mvc

我知道我可以通过这样的过滤器添加 Cors 支持:https://spring.io/guides/gs/rest-service-cors/

我不知道该指南是什么时候创建的,也不知道后续版本是否带有内置 Cors 的实现......

Aal*_*iry 5

创建这个类

public class CORSFilter extends OncePerRequestFilter {

@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
    response.addHeader("Access-Control-Allow-Origin", "*");

    if (request.getHeader("Access-Control-Request-Method") != null && "OPTIONS".equals(request.getMethod())) {
        // CORS "pre-flight" request
        response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
    //  response.addHeader("Access-Control-Allow-Headers", "Authorization");
        response.addHeader("Access-Control-Allow-Headers", "Content-Type");
        response.addHeader("Access-Control-Max-Age", "1");
    }

    filterChain.doFilter(request, response);
  }
}
Run Code Online (Sandbox Code Playgroud)

并将其添加到您的 web.xml 中

<!-- Add this to your web.xml to enable "CORS" -->
<filter>
  <filter-name>cors</filter-name>
  <filter-class>tk.aalkhodiry.filters.CORSFilter</filter-class>
</filter>

<filter-mapping>
  <filter-name>cors</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)