HTTP сообщение в angular v8 и получение ошибок машинописи - PullRequest
0 голосов
/ 06 апреля 2020

В настоящее время я получаю сообщение об ошибке, в котором говорится .... где event.id неизвестен

"Свойство 'id' не существует для типа 'HttpResponse'."

У меня есть интерфейс:

interface UploadPostResponse {
 id: string;
}

это мой вызов POST ... config это просто POST и некоторые параметры, прикрепленные к нему

return this.httpClient.request( config )
                  .subscribe(event => {
                    if (event instanceof HttpResponse) {
                      this.router.navigate(['/inbox'], { queryParams: { inboxName: event.id } });
                    }
                  });

Я не уверен, куда поместить интерфейс «UploadPostResponse», чтобы event.id для inboxName был в порядке ..

РЕДАКТИРОВАТЬ:

const config = new HttpRequest('POST', `${postUrl}`,{file: inbox});

1 Ответ

0 голосов
/ 06 апреля 2020

Полезная нагрузка ответа находится в свойстве body ответа. Вы должны получить id от event.body.id.

return this.httpClient.request( config )
  .subscribe(event => {
    if (event instanceof HttpResponse) {
      this.router.navigate(['/inbox'], { queryParams: { inboxName: event.body.id } });
    }
  });

. Вы бы запросили возвращенный объект напрямую, если используете httpClient.post.

return this.httpClient.post(postUrl, {file: inbox})
  .subscribe((response: any) => {
    this.router.navigate(['/inbox'], { queryParams: { inboxName: response.id } });
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...