Spring Boot解决跨域问题
方法一(常用)
实现接口WebMvcConfigurer,并重写addCorsMappings(CorsRegistry registry)
@Configurationpublic class CorsConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("*").allowCredentials(true).allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS").maxAge(3600);}}
方法二
在上下文中创建一CorsFilter类型的bean,因为http请求到达时序为:filter,servlet,拦截器(HandlerInterceptor)
@Configurationpublic class CorsConfig {@Beanpublic CorsFilter corsFilter() {CorsConfiguration corsConfiguration = new CorsConfiguration();corsConfiguration.addAllowedOrigin("*");corsConfiguration.addAllowedHeader("*");corsConfiguration.addAllowedMethod("*");corsConfiguration.setAllowCredentials(true);UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);return new CorsFilter(urlBasedCorsConfigurationSource);}}
方法三
向@RequestMapping(其他Mapping注解也行)注解处理程序方法添加一个@CrossOrigin注解
@CrossOrigin