我使用拦截器来嗅探所有 HTTP 请求/响应。
当服务器返回 http 400、Angular 引发异常并且在 catch block 中我无法获取正文消息时,如何获取正文响应:
return next.handle(request).pipe(
catchError((error: HttpErrorResponse) => {
console.log(error.body); // There is not body object here
});
最佳答案
这是一个如何在拦截器
的帮助下完成此操作的示例
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).pipe(
catchError(error => this.handleError(error))
);
}
private handleError(error: HttpErrorResponse): Observable<any> {
if (error.status === 400) {
// Do your thing here
}
}
希望对你有帮助。
关于angular - 如何访问拦截器内部的错误响应主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56040946/