@CrossOrigin
@Configuration
@RequiredArgsConstructor
public class GlobalCorsConfiguration {
private final CorsProperties corsProperties;
@Bean
public CorsWebFilter corsWebFilter() {
final CorsConfiguration corsConfig = new CorsConfiguration();
corsConfig.setAllowedOrigins(
Arrays.asList(corsProperties.getAllowedOrigins())
);
corsConfig.setMaxAge(3600L);
corsConfig.setAllowedMethods(Arrays.asList("OPTIONS", "GET", "POST", "PUT", "DELETE", "PATCH"));
corsConfig.addAllowedHeader("*");
final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", corsConfig);
return new CorsWebFilter(source);
}
}
@CrossOrigin
@Configuration
@Profile({"dev", "liquibase"})
public class CustomCorsConfiguration {
@Bean
public CorsWebFilter corsWebFilter() {
final CorsConfiguration corsConfig = new CorsConfiguration();
corsConfig.setAllowedOrigins(Collections.singletonList("*"));
corsConfig.setMaxAge(3600L);
corsConfig.setAllowedMethods(Arrays.asList("OPTIONS", "GET", "POST", "PUT", "DELETE", "PATCH"));
corsConfig.addAllowedHeader("*");
final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", corsConfig);
return new CorsWebFilter(source);
}
}
Также попробуйте перенести add_header в if(OPTIONS).
setFooList()
, а (псевдокод)addFoo(Foo foo) {
fooList.add(foo);
foo.setBar(this);
}
Да как-то что на проде, что на тестовом реакт приложение без Java конфигурации не хотело дружить с CORS. А после добавления Java конфигурации заработало.
Еще раз спасибо