Вы можете добавить его, переопределив addCorsMappings
из WebMvcConfigurerAdapter
, поэтому либо создайте класс, который расширяет WebMvcConfigurerAdapter
, либо определите bean-компонент в вашем классе конфигурации следующим образом:
@Bean
public WebMvcConfigurer corsConfigurer () {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**")
.allowedOrigins("http://domain1.com", "http://domain2.com")
.allowedMethods("GET", "OPTIONS")
.allowedHeaders("header1", "header2", "header3")
.exposedHeaders("header1", "header2")
.allowCredentials(false).maxAge(3600);
}
}
}
Редактировать
Начиная с версии 5.0 WebMvcConfigurerAdapter
устарела, и, следовательно, вы можете достичь того же самого, реализовав интерфейс WebMvcConfigurer
(добавлены методы по умолчанию, спасибо java 8! И могут быть реализованы напрямую без использования этого адаптера)
@Configuration
@EnableWebMvc
public class MyWebMvcConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**")
.allowedOrigins("http://domain1.com", "http://domain2.com")
.allowedMethods("GET", "OPTIONS")
.allowedHeaders("header1", "header2", "header3")
.exposedHeaders("header1", "header2")
.allowCredentials(false).maxAge(3600);
}
}