我注册了一个用户通过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请求,所以是有可能得到这些值。
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
}
);