У меня есть рабочая конфигурация CORS в моем приложении весенней загрузки. Я хотел управлять транзакциями самостоятельно, поэтому я решил отключить open-in-view в моем application.yaml, установив для него значение false:
spring:
jpa:
open-in-view: false
CORS config:
@Bean
public CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.addAllowedOrigin("http://localhost:4200");
configuration.addExposedHeader("Authorization");
configuration.addExposedHeader("Concurrency");
configuration.addAllowedMethod("*");
configuration.addAllowedHeader("*");
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}
По какой-то причине я не могу понять, это мешает CORS работать должным образом, браузер постоянно говорит, что:
Access to XMLHttpRequest at 'http://localhost:8080/api/batch' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Несмотря на то, что этот заголовок фактически присутствует в запросе перед полетом OPTIONS. Tomcat не регистрирует никаких исключений или записей, представляющих интерес, которые могли бы объяснить это.