在使用Java SpringBoot写api服务的时候,遇到前端跨域无法请求,解决跨域访问,需要添加如下配置类。
package com.fanfengping.config.cors;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
@Configuration
public class CorsConfig {
private CorsConfiguration configuration() {
CorsConfiguration corsConfig = new CorsConfiguration();
corsConfig.setAllowCredentials(true);
// 1允许任何域名使用
corsConfig.addAllowedOrigin("*");
// 2允许任何头
corsConfig.addAllowedHeader("*");
// 3允许任何方法(post、get等)
corsConfig.addAllowedMethod("*");
return corsConfig;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration()); // 4
return new CorsFilter(source);
}
}