Angular无法从.NET Core WebAPI的HttpErrorResponse中获得带有自定义错误消息的_body。
创始人
2024-10-30 00:32:44
0

在Angular中,可以使用HttpClient来发送HTTP请求并处理响应。当发生错误时,可以通过HttpErrorResponse对象来访问错误响应的详细信息,包括自定义错误消息。

下面是一个示例,展示了如何从.NET Core WebAPI的HttpErrorResponse对象的_body属性中获取带有自定义错误消息的内容:

import { HttpClient, HttpErrorResponse } from '@angular/common/http';

// 在组件的构造函数中注入 HttpClient
constructor(private http: HttpClient) { }

// 发送 HTTP 请求并处理响应
this.http.get('https://example.com/api/data').subscribe(
  (response: any) => {
    // 处理成功响应
    console.log(response);
  },
  (error: HttpErrorResponse) => {
    // 处理错误响应
    console.error(error);

    // 获取自定义错误消息
    if (error.error instanceof ErrorEvent) {
      // 客户端错误
      console.log('Client-side error:', error.error.message);
    } else {
      // 服务器错误
      console.log('Server-side error:', error.error);
    }
  }
);

在上面的代码中,当发生错误时,HttpErrorResponse对象会被传递给错误处理函数。可以通过error.error属性来获取错误响应的内容。如果是客户端错误,error.error将是一个ErrorEvent对象,可以通过message属性来获取自定义错误消息。如果是服务器错误,error.error将是服务器返回的错误消息。

请确保在Angular应用程序的app.module.ts文件中正确导入并配置HttpClientModule

import { HttpClientModule } from '@angular/common/http';
...

@NgModule({
  imports: [
    HttpClientModule,
    ...
  ],
  ...
})
export class AppModule { }

这样就可以使用HttpClient来发送HTTP请求并处理响应中的错误,并从HttpErrorResponse对象中获取自定义错误消息了。

相关内容

热门资讯

透明工具!福建宁德麻将辅助软件... 福建宁德麻将辅助软件是一款专注玩家量身打造的游戏记牌类型软件,在福建宁德麻将辅助软件这款游戏中我们可...
透明辅助!约局吧游戏挂,pok... >>您好:pokernow辅助工具确实是有挂的,很多玩家在这款pokernow辅助工具游戏中打牌都会...
透明挂透视!wpk透视辅助,h... 【亲,hardrock透视工具 这款游戏可以开挂的,确实是有挂的,很多玩家在这款hardrock透视...
透明教学!中至余干有挂吗,we... 透明教学!中至余干有挂吗,wepoker怎么增加运气(辅助挂)详细开挂辅助插件;无需打开直接搜索加(...
透视辅助!青鸟辅助平台,拱趴大... 透视辅助!青鸟辅助平台,拱趴大菠萝自动计算机器人(辅助挂)详细开挂辅助安装;无需打开直接搜索打开薇:...
透视游戏!衢州都莱罗松辅助软件... 透视游戏!衢州都莱罗松辅助软件,wejoker辅助器要钱玩吗(辅助挂)详细开挂辅助脚本;无需打开直接...
透视脚本!广东闲来辅助工具,佛... >>您好:佛手在线大菠萝技巧确实是有挂的,很多玩家在这款佛手在线大菠萝技巧游戏中打牌都会发现很多用户...
透视实锤!xpoker透视辅助... 您好:这款xpoker透视辅助游戏是可以开挂的,确实是有挂的,很多玩家在这款xpoker透视辅助游戏...
透明黑科技!中至江西源代码,德... 大家好,今天小编来为大家解答德普之星怎么设置埋牌这个问题咨询软件客服可以免费测试直接加微信(1367...
透明透视!心悦填大坑作辅助下载... 心悦填大坑作辅助下载是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加...