Как обрабатывать ошибки в объекте ответа - PullRequest
0 голосов
/ 06 июня 2019

В приложении при входе в систему с неправильным именем пользователя или паролем оно отправляет мне в ответ объект ошибки.

POST https://abcdserver.zxcv.com/abcdserver/connect/token 400 (Bad Request)
Error performing password flow 
HttpErrorResponse {headers: HttpHeaders, status: 400, statusText: "Bad Request", url: "https://abcdserver.zxcv.com/abcdserver/connect/token", ok: false, …}

Как обрабатывать эти ошибки.Вот мой код

login.component.ts

jwtHelper: JwtHelper = new JwtHelper();
  this.authService.loginOrg(this.userCredential.email, this.userCredential.password).then((resp) => {
    let token = resp['access_token'];
    if (token === null) {
      this.invalidLogin = true;
    }
    let decodedToken = this.jwtHelper.decodeToken(token);
    this.UserId = decodedToken.userid;
  }, (reason) => {
    this.invalidLogin = true;
  });

authservice.component.ts

import { OAuthService } from 'angular-oauth2-oidc';    
public loginOrg(userName: string, password: string) {
        return this.oAuthService.fetchTokenUsingPasswordFlow(userName, password);
    }

1 Ответ

0 голосов
/ 06 июня 2019

Есть 2 варианта:
1) Реализуйте ErrorHandler (https://angular.io/api/core/ErrorHandler) для обработки всех ошибок, сгенерированных в вашем приложении, ИЛИ
2) обрабатывать каждую ошибку в вашем http-вызове так:
this.getMEthod (). subscribe (resp => {ваша логика здесь}, error => {ваша логика здесь})

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...