У меня есть (kotlin) класс конфигурации Spring Boot, который делает это:
@Bean
fun corsConfigurer(): WebMvcConfigurer {
return object : WebMvcConfigurer {
override fun addCorsMappings(registry: CorsRegistry) {
LOG.info("Configuring CORS")
registry.addMapping("/**").allowedOrigins("http://localhost:3000")
}
}
}
Теперь я вижу сообщение в журнале, так что я знаю, что это вызывается, но когда я использую cURL для получения конечной точкиЯ не вижу добавляемого заголовка CORS:
curl -v localhost:8080/api
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 8080 (#0)
> GET /api HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Pragma: no-cache
< Expires: 0
< X-Frame-Options: DENY
< Content-Type: application/json;charset=UTF-8
< Content-Length: 2
< Date: Sun, 03 Mar 2019 17:15:12 GMT
<
* Connection #0 to host localhost left intact
OK
Согласно этому руководству от Spring это должно работать: https://spring.io/guides/gs/rest-service-cors/
springBootVersion = '2.1.2.RELEASE'