可以用注解:在controller的方法上加@CrossOrgin()
这里用的是写一个@Configuration
package van.gateway.config;
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;
import java.util.Arrays;
/**
* @author Van
* @date 2020/4/18 - 11:22
*/
@Configuration
public class CorsConfig {
@Bean
public CorsFilter corsFilter(){
final UrlBasedCorsConfigurationSource source=new UrlBasedCorsConfigurationSource();
final CorsConfiguration corsConfiguration=new CorsConfiguration();
corsConfiguration.setAllowedOrigins(Arrays.asList("*"));//原始域,这里放所有的
corsConfiguration.setAllowedMethods(Arrays.asList("*"));//允许的方法get或post如:Arrays.asList("GET")
corsConfiguration.setAllowedHeaders(Arrays.asList("*"));//允许的头
corsConfiguration.setAllowCredentials(true);//是否支持cookie跨域
corsConfiguration.setMaxAge(300l);//设置跨域的缓存时间:在这个事件段内,相同的跨域请求不再进行检查,long类型
source.registerCorsConfiguration("/**",corsConfiguration);
return new CorsFilter(source);
}
}