如何访问错误响应于注册API的情况下,有在注册过程中的错误

问题描述 投票:0回答:1

我注册了一个用户通过Web API。

在邮递员如果在任何输入字段中的错误,则响应是这样的

{
    "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;

将它们用于表单验证和确认检查,如果用户注册,因为邮递员显示,如果用户成功注册成功令牌如何得到错误的字段,也成功的标志。这是一个POST请求,而不是一个GET请求,所以是有可能得到这些值。

angular
1个回答
1
投票

HttpClient的POST请求返回可观察到的。

这registerUser方法返回可观察到,因为所有HttpClient的方法做:

registerUser(user: any): Observable<any> { 
    return this.http.post(this.registerUrl, user)
}

所以你应该订阅可观察到了解从API返回的响应,因此您的代码应该是这样的:

在组件TS文件

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
   }
);
© www.soinside.com 2019 - 2024. All rights reserved.