需要做跨域处理的情景:
很多情况下同一个项目中前端的同学需要访问到许多不同域名的 服务。在这些后端的服务当中就需要做跨域处理。
接下来重点来了,后端是怎么做跨域处理的。
上代码:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.filter.CorsFilter;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
/**
* @author chenrui
* @date 2019/3/12 14:09
*/
@Configuration
@SuppressWarnings("unused")
public class CorsConfig {
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
// 1允许任何域名使用
corsConfiguration.addAllowedOrigin("*");
// 2允许任何头
corsConfiguration.addAllowedHeader("*");
// 3.允许ajax异步请求带cookie信息
corsConfiguration.setAllowCredentials(true);
// 4允许任何方法(post、get等)
corsConfiguration.addAllowedMethod("*");
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());
return new CorsFilter(source);
}
}
说明:写好该配置类之后,就可以直接通过cors实现跨域处理了。