在使用httpClient的Angular服务中,我创建了一个方法,该方法仅从POST返回原始的HTTP响应:
httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
//observe: 'response'
}),
observe: 'response' as 'body'
};
forgotLogin(requestData: PUMRequestData): Observable<HttpResponse<string>> {
return this.http.post<HttpResponse<string>>("http://...", requestData, this.httpOptions);
然后在我的组件中,我只是从原始的HTTP响应中查看状态和正文。
this.api.forgotLogin(pumRequestData).subscribe(response => {
this.hStatus = response.status;
this.hBody = response.body;
});
问题是,如果响应状态不在200系列中,则httpClient会引发错误。在我的用例中,无论状态是什么,我都只想获取请求状态和主体,并且我想根据组件中的状态而不是服务中的错误处理程序中的状态来决定要采取什么操作。我一直在尝试找到一种在服务中创建错误处理程序的棘手方法,该方法仅返回(Observable)http响应,但没有能够-甚至不确定这是否是正确的方法。
所以,当状态不是200系列时,如何将原始的HTTP响应返回给我的组件?
HTTP
响应时,可以添加错误处理程序。