springboot+vue跨域问题
springboot+vue项目中跨域问题
解决方案:
1.在controller类添加@CrossOrigin注释
2.后端方法过多时编写CORS过滤器
@Configuration
public class CorsConfig{
@Bean
public CorsFilter corsFilter(){
CorsConfiguration corsConfiguration=new CorsConfiguration();
CorsConfiguration.addAllowedOrigin("*");//允许所有域访问
CorsConfiguration.addAllowedHeader("*");//允许所有头字段
CorsConfiguration.addAllowedMethod("*");
//允许所有方法
UrlBasedCorsConfigurationSourse source=new UrlBasedCorsConfigurationSourse();
sourse.registerCorsConfiguration("/**",corsConfiguration);
return new CorsFilter(source);
}
}
3.实现WebMvcConfigure接口,重写addCorsMappings方法
```java
public class CorsConfiguration implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOriginPatterns("*")
.allowedMethods("GET","POST","PUT","DELETE","HEAD","OPTIONS")
.allowCredentials(true)
.maxAge(3600)
.allowedHeaders("*");
}
}