希望服务器返回错误代码为5XX或4XX时,我可以获取响应内容。
这是我的配置:
API Rest(Laravel):
public function login(Request $request) {
$this->validateLogin($request);
if ($this->attemptLogin($request)) {
$user = $this->guard()->user();
$user->generateToken();
return response()->json($user, 200);
}
return response()->json('Login or password unknown', 401);
}
角度服务:
public getUser(user: User): Observable<any> {
return this.httpClient.post(this.employeeAPI +
'login', JSON.stringify(user), { headers: this.headers });
}
角度组件:
public login(): void {
this.loginService.getUser(this.user).subscribe(
(user) => {
this.user = user;
this.router.navigate(['/home']);
},
(error) => {
// Is it possible to get the content of response ?
}
);
}
谢谢。
答案 0 :(得分:1)
如果您想以更高的视角看待响应,则必须观察到这样的响应:
return this.httpClient.post(this.employeeAPI
+ 'login', JSON.stringify(user), { headers: this.headers, observe: 'response' });
响应将为HttpResponse
类型。这意味着您可以从响应中自己提取body
,但也可以检索状态代码。