背景:前後端分離項目,前端vue,後端springboot,本地調試時設置了跨域處理,前端生成的uuid後端從header裏面取不到。
解決辦法:如下是允許跨域,設置 corsConfiguration.addExposedHeader("uuid"); 放行uuid參數,這樣後端就可以獲取到了。
@Configuration
public class CorsConfig {
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.setMaxAge(3600L);
corsConfiguration.setAllowCredentials(true);
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration = buildConfig();
corsConfiguration.addExposedHeader("uuid");
source.registerCorsConfiguration("/**", corsConfiguration);
return new CorsFilter(source);
}
}