1.由于项目前后端分离,前段访问后端接口,出现:“Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource”;
2.解决办法:Applicatio如下启动类里面,添加配置,代码如下:
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins(ip) //可访问ip,ip最好从配置文件中获取,
.allowedMethods("PUT", "DELETE","GET","POST")
.allowedHeaders("*")
.exposedHeaders("access-control-allow-headers",
"access-control-allow-methods",
"access-control-allow-origin",
"access-control-max-age",
"X-Frame-Options")
.allowCredentials(false).maxAge(3600);
}
};
}
3.经测试完美解决