Ошибка возврата Spring-сервера загрузки для Angular 8 -пользовательского HTTP-заголовка: MissingRequestHeaderException - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь добавить пользовательский заголовок http в мой запрос GET, который я использую Angular 8, и весеннюю загрузку для моего приложения. Я не могу понять, как правильно отправить этот заголовок, и почему сервер не получает его ... вот моя попытка сделать это: (клиент)

const headers = new HttpHeaders().set("realityId", "0");

export class FileService {
constructor(private http: HttpClient) { }
getFileList(): Observable<any> {
return this.http.get(`${this.baseUrl}`,{headers});
}

и соответствующий код сервера с моего контроллера:

public HttpEntity<FlowersList> getFlowersFromFlowers(@RequestHeader String realityId, 
@RequestParam("mName") String mName)

, что бы я ни пытался сделать, я получаю сообщение об ошибке:

[org.springframework.web.bind.MissingRequestHeaderException: Missing request header 'realityId' for 
method parameter of type String]

Я пытался сделайте это так:

 httpOptions = {
 headers: new HttpHeaders({ 'realityId': '0' })
  };

Но ничего, я следовал этому учебнику и этому , и пытался получить помощь от этого застрявший вопрос переполнения.

Любая помощь будет признательна

Ps, какие бы решения я не нашел для angular 2 и 4, не работает для меня ..

edit Я также нашел это решение , попробовал точно такую ​​же вещь, и все еще продолжаю получать эту ошибку .. Я не понимаю, что я делаю неправильно

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Вы не устанавливаете заголовки. Попробуйте это так:

return this.http.get('url', {
  headers: yourHeaders
});

Вы должны передать заголовки свойству headers

0 голосов
/ 01 мая 2020

попробуйте так:

let headers = new HttpHeaders();
headers = headers.set("realityId", "0");

экземпляр первых заголовков неизменен.

...