Как получить правильный элемент из вызова REST - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь вызвать мой REST API, который возвращает JSON-объект, включая session_token.Мне нужен только этот session_token, но как мне его получить?

this.http.post(this.tokenURL, this.tokenCall).subscribe(res => {
  this.token = res.session_token;
});

Это моя попытка, но Angular не будет компилироваться, потому что он не знает, существует ли session_token во время компиляции.Как мне просто получить сессионный токен из него?Если я объявлю это в самом токене, он тоже не будет работать.

Спасибо за вашу помощь

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

вы можете попробовать это (с HttpClient из HttpClientModule)

this.http.post<{session_token}>(this.tokenURL, this.tokenCall)
 .subscribe(res => { 
  this.token = res.session_token; 
 });
0 голосов
/ 24 мая 2018

Я нашел обходной путь для тех, кто интересуется.Я объявляю объект типа «любой» и присваиваю ему данные ответа.

let response:any = {};
this.http.post(this.tokenURL, this.tokenCall).subscribe(res => {
  if(res.hasOwnProperty("session_token")){
    response = res;
    this.token = response.session_token;
  }

Это может быть не очень хороший стиль, но единственный найденный мной обходной путь.

...