错误信息
has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
后台配置
@Configuration
public class CorsConfig implements WebMvcConfigurer {
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.setAllowCredentials(true); //是否支持安全证书
corsConfiguration.addAllowedOrigin("*"); // 1
corsConfiguration.addAllowedHeader("*"); // 2
corsConfiguration.addAllowedMethod("*"); // 3
return corsConfiguration;
}
@Bean
public FilterRegistrationBean corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig()); //4
FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
bean.setOrder(0);
return bean;
}
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowCredentials(true)
.allowedHeaders("*")
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.maxAge(3600);
}
}
前端配置
在config/index.js里面配置
然后就在路径前加上/api就可以访问了
dev: {
// 代理列表, 是否开启代理通过[./dev.env.js]配置
proxyTable: {
'/api': {
target: '要访问的路径',
changeOrigin: true,
pathRewrite: {
'^/api': '/前缀'
}
}
},