Angular 如何在注册过程中发生错误时访问注册api中的错误响应

Angular 如何在注册过程中发生错误时访问注册api中的错误响应,angular,Angular,我通过web api注册了一个用户 在postman中,如果任何输入字段中存在错误,则响应如下 { "error": { "phone": [ "The phone field is required." ] } } 在服务文件中 constructor(private http: HttpClient) { } registerUser(user: any) { return this.http.post(

我通过web api注册了一个用户

在postman中,如果任何输入字段中存在错误,则响应如下

{
    "error": {
        "phone": [
            "The phone field is required."
        ]
    }
}
在服务文件中

constructor(private http: HttpClient) { }
  registerUser(user: any) { 
    return this.http.post(this.registerUrl, user)
   }
}
在ts文件中

constructor(private reg: AuthService) { }
    registered: boolean = false;
     const user = {
          first_name: e.controls.first_name.value,
          last_name: e.controls.last_name.value,
          phone: e.controls.phone.value,

        };

    this.registered = this.reg.registerUser(user) ? true : false;

要将它们用于表单验证和确认检查,请了解如果用户注册成功,如何获取错误字段和成功令牌,因为如果用户注册成功,postman将显示成功令牌。这是一个post请求,而不是get请求,因此可以获取这些值。

httpClient post请求返回一个可观察值

此registerUser方法返回可观察,因为所有httpClient方法都返回:

registerUser(user: any): Observable<any> { 
    return this.http.post(this.registerUrl, user)
}
const user = {
      first_name: e.controls.first_name.value,
      last_name: e.controls.last_name.value,
      phone: e.controls.phone.value,

    };

this.reg.registerUser(user).subscribe(
   (res) => {
       this.registered = res === true ? true : false;
       // you should be more specific in how api response look like
   },
   (err) => {
       console.log(err); // or do whatever you want with the error
   }
);