跨域请求
同源策略
协议、域名、端口 3 个都相同就是同源
Spring Boot 项目中解决跨域的 3 种方案
1、在目标方法上添加 @CrossOrigin 注解
1 2 3 4 5 6
| @GetMapping("/list") @CrossOrigin public List<String> list(){ List<String> list = Arrays.asList("Java","C++","Go"); return list; }
|
2、添加 CORS 过滤器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| @Configuration public class CorsConfig { @Bean public CorsFilter corsFilter(){ CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("*"); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", corsConfiguration); return new CorsFilter(source); } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| @Configuration 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("*"); } } <<<<<<< HEAD
|
=======