Angular 5 Подписаться читать HttpStatusCode 204 - PullRequest
0 голосов
/ 22 февраля 2019

Я использую Angular 5 в проекте и делаю вызовы API для извлечения данных.

Пример кода: -

this.userSvc.addPhone(this.userID, this.countryCode, this.phoneNumber)
   .subscribe(data => {
       console.log('Phone Added Successfully')
    },
    (err: HttpErrorResponse) => { console.log(err.message) });

userSvc Функция : -

    addPhone(userId, countryCode, phoneNumber) {
    return this.HttpClient.Post(this.rootUrl + "add-phonetouser?id=" + userId + "&countrycode=" + countryCode + "&phonenumber=" + phoneNumber
        , { headers: this.header });
}

Из метода web-api я пытаюсь передатьNoContent HttpCode и хотел бы прочитать код состояния на угловой стороне.

Теперь я хотел бы понять, как мне прочитать этот NoContent HttpStatusCode с угловой стороны.

код веб-API выглядит следующим образом: -

var user = await UserManager.FindByName(username);
if (user == null) {
   return Request.CreateResponse(HttpStatusCode.NoContent, "User not found.");
} else {}

1 Ответ

0 голосов
/ 22 февраля 2019

из Angular Docs:

Тело ответа не возвращает все данные, которые могут вам понадобиться.Иногда серверы возвращают специальные заголовки или коды состояния, чтобы указать определенные условия, важные для рабочего процесса приложения.

Скажите HttpClient, что вы хотите получить полный ответ с параметром наблюдения:

Вам нужноиспользовать {Наблюдение: 'ответ'} в вашем вызове API из Angular.

 addPhone(userId, countryCode, phoneNumber): Observable<HttpResponse<any>> {
        return this.HttpClient.Post(this.rootUrl + "add-phonetouser?id=" + userId +
         "&countrycode=" + countryCode + "&phonenumber=" + phoneNumber
            , {}, { headers: this.header,  observe: 'response' } );
        }

А затем использовать его следующим образом:

this.userSvc.addPhone(this.userID, this.countryCode, this.phoneNumber)
   .subscribe(data => {
       console.log(data.status);
       console.log(data.body);
    },
    (err: HttpErrorResponse) => { console.log(err.message) });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...