我的 REST API 是多个域的服务器。我怎样才能在我的 header 中允许多个域。
我的 Java 代码:
public class CORSFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin","abc.com","xyz.com");
response.setHeader("Cache-Control", "no-store, public, max-age=0");
response.setHeader("Pragma", "no-cache");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Strict-Transport-Security", "max-age=63072000; includeSubDomains;");
chain.doFilter(req, res);
}
}
最佳答案
使用CorsRegistry
:
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**")
.allowedOrigins("http://domain1.com","http://domain2.com");
}
<小时/>
使用@CrossOrigin
:
@CrossOrigin(origins = {"http://domain1.com","http://domain2.com"})
<小时/>
使用application.properties
management.endpoints.web.cors.allowed-origins=http://domain1.com,http://domain2.com
关于java - 如何在 Spring Boot 中向 Access-Control-Allow-Origin 添加多个域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56374431/