需要做跨域处理的情景:
很多情况下同一个项目中前端的同学需要访问到许多不同域名的 服务。在这些后端的服务当中就需要做跨域处理。
接下来重点来了,后端是怎么做跨域处理的。
上代码:
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实现跨域处理了。