Я хочу отправить собственный заголовок из Spring Rest Controller в клиент пользовательского интерфейса в AngularJS. Я рассмотрел ответы здесь, в StackOverFlow, однако ни одно из решений не сработало для меня.
вот мои настройки свойств Spring CORS;
cors:
allowed-origins: "*"
allowed-methods: GET, PUT, POST, DELETE, OPTIONS
allowed-headers: "*"
exposed-headers: Header-Error
allow-credentials: true
max-age: 1800
Spring Controller, я отправляю ошибку заголовка в качестве своего собственного заголовка:
public ResponseEntity<Void> startOauthToken(@PathVariable("seller") String seller){
// do something....
MultiValueMap<String, String> headers = new HttpHeaders();
headers.add("Header-Error","Account already is register with the system!!");
return new ResponseEntity<Void>( headers, HttpStatus.BAD_REQUEST);
}
На стороне AngularJS я отправляю запрос следующим образом:
var url = APP_CONFIG.apiRootUrl + 'api/v1/startOauthToken/'+value;
$http.get(url).success(function (response){
console.log("Vaue of the response is " + JSON.stringify(response));
})
.error(function(response){
console.log("Value of error " + JSON.stringify(response));
});
когда я получаю ответ, я не вижу в ответе свой собственный заголовок:
{
"data": "",
"status": 400,
"config": {
"method": "GET",
"transformRequest": [null],
"transformResponse": [null],
"url": "http://localhost:8082/api/v1/startOauthToken/somevalue",
"headers": {
"Accept": "application/json, text/plain, */*",
"Authorization": "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QHRlc3QiLCJhdXRoIjoiUk9MRV9URU5BTlRfQURNSU4iLCJleHAiOjE1MzIwODU3MjV9.YdKPP63ZqQVGD9EZOtBu0aniP2R4uNllAEe-O8BiOjTKqgIiAQGCW9PcLSb1jp6Epvz3bzRcnPvKn0d2Gg4PHw"
}
},
"statusText": ""
}
Однако в браузере я вижу, что заголовок моего клиента Header-Error получен как часть ответа,
огромное спасибо.