cross-origin.jpeg 

1、@CrossOrigin注解解决跨域

1
2
3
4
5
6
@GetMapping("/hello")
@ResponseBody
@CrossOrigin(value = "*")
public String hello() {
return "hello";
}

2、接口编程

1
2
3
4
5
6
7
8
9
10
11
12
@Configuration
public class WebConfigurer implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedHeaders("*")
.allowedMethods("*")
.allowCredentials(true)
.allowedOriginPatterns("*")
.maxAge(3600);
}
}

3、过滤器实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@Configuration
public class FilterConfig {

@Bean
public FilterRegistrationBean registFilter() {
org.springframework.web.cors.UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
config.addAllowedOrigin("*");
source.registerCorsConfiguration("/**", config);
FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
bean.setOrder(0);
return bean;
}
}