Я разрабатываю приложение загрузки Spring с интерфейсом Rest и выталкиванием дротиков.
XMLHttpRequest выполняет запрос OPTIONS, который обрабатывается полностью корректно. После этого выдается окончательный запрос GET ( "/products" ) и не выполняется:
Нет заголовка "Access-Control-Allow-Origin" присутствует на запрошенном ресурсе. Происхождение http://localhost:63343 ', следовательно, не допускается.
После некоторой отладки я нашел следующее:
Функция AbstractHandlerMapping.corsConfiguration заполняется для всех подклассов, кроме репозиторияRestHandlerMapping. В RepositoryRestHandlerMapping no corsConfiguration присутствует/задано во время создания и поэтому не будет распознаваться как путь/ресурс cors.
= > Нет заголовков CORS
Может ли это быть проблема? Как я могу установить его?
Конфигурационные классы:
@Configuration
public class RestConfiguration extends RepositoryRestMvcConfiguration {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowCredentials(false).allowedOrigins("*").allowedMethods("PUT", "POST", "GET", "OPTIONS", "DELETE").exposedHeaders("Authorization", "Content-Type");
}
...
}
Я даже попытался установить Cors для аннотации:
@CrossOrigin( methods = RequestMethod.GET, allowCredentials = "false")
public interface ProductRepository extends CrudRepository<Product, String> {
}
Заголовки необработанных запросов:
GET /products HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Cache-Control: max-age=0
authorization: Basic dXNlcjpwYXNzd29yZA==
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/43.0.2357.130 Chrome/43.0.2357.130 Safari/537.36
Content-Type: application/json
Accept: */*
Referer: http://localhost:63343/inventory-web/web/index.html
Accept-Encoding: gzip, deflate, sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
Заголовки исходного ответа:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 30 Jul 2015 15:58:03 GMT
Используемые версии: Spring Загрузка 1.3.0.M2 Spring 4.2.0.RC2
Что мне не хватает?