1.自定义一个Configure类,去继承WebMvcConfigurerAdapter
2.重写方法如下
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/")
.allowedHeaders("")
.allowedOrigins("")
.allowCredentials(true)
.allowedMethods(“GET”, “POST”, “DELETE”, “PUT”)
.maxAge(3600);
}
这种情况下如果自己没有自定义拦截器就可以解决问题,但是我自己定义了拦截器,由于执行的顺序问题,并没有走到这里,所以我们要使用CorsFilter过滤器
3.
private CorsConfiguration corsConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("");
corsConfiguration.addAllowedHeader("");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.setAllowCredentials(true);
corsConfiguration.setMaxAge(3600L);
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/", corsConfig());
return new CorsFilter(source);
}
4.还有一种方法是springboot自带的一个注解@CrossOrigin可以解决问题,加在controller即可
springboot解决跨域问题
最新推荐文章于 2024-05-06 18:35:01 发布