127 字
1 分钟
java 跨域请求
跨域请求
同源策略:协议、域名、端口 3 个都相同就是同源
Spring Boot 项目中解决跨域的 3 种方案
1、在目标方法上添加 @CrossOrigin 注解
@GetMapping("/list")@CrossOriginpublic List<String> list(){ List<String> list = Arrays.asList("Java","C++","Go"); return list;}2、添加 CORS 过滤器
@Configurationpublic 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); }
}3、实现 WebMvcConfigurer 接口,重写 addCorsMappings 方法
@Configurationpublic 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("*"); }}