【Abp VNext】实战入门(七):【2】xxx.Web网站层 —— API接口异常全局捕捉,返回简化错误信息

news/2024/5/8 16:56:58/文章来源:https://blog.csdn.net/liuyonghong159632/article/details/121312106

这里写自定义目录标题

  • 一、前言
  • 二、解决方案
    • 1、解决方案1:
    • 2、解决方案2:
  • 三、总结

一、前言

今天突然发现一个问题,xxx.Application应用层中的方法,如果直接抛出异常(如:throw new Exception(“手动抛出异常”); )后端控制台可以看到详细错误信息,前端接口调用却只能看到500 internal error 内部错误,看不见详细错误信息,对接接口的伙计一脸懵逼。

二、解决方案

1、解决方案1:

1、在xxx.web网站项目的xxxWebModule.cs 中添加如下配置,把异常信息完整的反馈的前端接口调用。

public override void ConfigureServices(ServiceConfigurationContext context)
{//直接往前端抛出原始的Exception Configure<AbpExceptionHandlingOptions>(options =>{options.SendExceptionsDetailsToClients = true;});
}

2、结果展示:可以实现结果,但是带有一些敏感多余内容,直接给到前端不是很理想。
在这里插入图片描述

2、解决方案2:

1、在xxx.web网站项目新增自定义异常处理类:
在这里插入图片描述

public class MyExceptionFilter : IExceptionFilter
{private readonly ILogger<MyExceptionFilter> logger;public MyExceptionFilter(ILogger<MyExceptionFilter> logger){this.logger = logger;}public void OnException(ExceptionContext context){logger.LogError(new EventId(context.Exception.HResult), context.Exception, context.Exception.Message);context.Result = new JsonResult(new { code = 500, err = $"内部错误:{context.Exception.Message}" });context.ExceptionHandled = true;}
}

2、在xxx.web网站项目的xxxWebModule.cs 中添加如下配置,删除自带异常处理类,添加自定义异常处理类:
在这里插入图片描述

public override void ConfigureServices(ServiceConfigurationContext context)
{//*******************Configure<MvcOptions>(options =>{var index = options.Filters.ToList().FindIndex(filter => filter is ServiceFilterAttribute attr && attr.ServiceType.Equals(typeof(AbpExceptionFilter)));if (index > -1){options.Filters.RemoveAt(index);}options.Filters.Add(typeof(MyExceptionFilter));});
}

3、结果展示:后端控制台输出详细错误信息,前端展示错误描述文字
在这里插入图片描述
后端日志记录详细错误信息:
在这里插入图片描述

三、总结

代码10分钟,整理成文半小时,又是12点了,突发灵感我要吟诗两句:
风萧萧兮易水寒 一入代码难少年

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_861082.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【流媒体服务】Web网站服务搭建(四):【1】下载安装Nginx网站服务

文章目录 前言一、Nginx是什么&#xff1f;二、安装步骤1、下载Nginx2、解压缩Nginx3、配置Nginx 三、启动预览Nginx网站服务1、启动网站服务2、浏览器预览网站3、如何增加个人网页 四、总结 前言 上2章节讲解了本地视频推流拉流服务VLC以及推流转码服务FFMPEG。 为了实现在网…

Red Hat推出”MugShot”社交娱乐网站

网址: http://mugshot.org/ Red Hat近来推出”MugShot”网站, MugShot是一个致力于在线社交娱乐的开源项目. 它提供了更方便的网页和音乐分享. 当前MugShot处于测试阶段, 只提供邀请帐号. 你可以从这里申请. 更多信息见常见问题和开发主页. 欢迎任何问题和建议.

10个学习资源网站

1 mooc学院 MOOC学院的定位是讨论&#xff0c;点评和记录课程&#xff0c;MOOC学院不直接收录课程内容&#xff0c;只是专注于帮助学习者互相交流&#xff0c;发现课程。你可以在这里发现很多有意思的课程 2 学堂在线 学堂在线是基于互联网技术的新型学习平台&#xff0c;旨在…

WordPress主题可视化建站The7 V8.7

The7汉化版是一个非常漂亮的企业主题&#xff0c;功能非常强大&#xff0c;内置可视化编辑器&#xff0c;操作方便&#xff0c;支持layer和revsilder幻灯片&#xff0c;支持视网膜屏幕、支持自适应&#xff0c;所以流动元素都已集成。不管是企业门户或者个人网站、工作室都非常…

使用requests爬取实习僧网站数据

任务要求&#xff1a; 爬取实习僧网站的招聘公司信息和职位信息&#xff0c;并存储到数据库中&#xff0c;对应的数据库表和需要爬取的字段见下面表一和表二&#xff08;注意&#xff1a;爬取存在的字段&#xff09; 代码以上传带github上&#xff1a;使用requests爬取实习僧网…

程序员实用工具网站

程序员实用工具网站 本文链接&#xff1a; https://blog.csdn.net/m0_38106923/article/details/100130354 1、搜索引擎 2、PPT 3、图片操作 4、文件共享 5、应届生招聘 6、程序员面试题库 7、办公、开发软件 8、高清图片、视频素材网站 9、项目开源 10、算法 11、…

解决通过无线路由上网,但有些网站打不开的问题

问题背景&#xff1a;正常联网状态&#xff0c;所有网站&#xff08;除了腾讯视频页面&#xff09;访问正常&#xff0c;就是进不去腾讯视频&#xff0c;网上查&#xff0c;有人说是找不到DNS的原因&#xff0c;所以今天我就专门看了一下无线路由器DNS。并对本机的无线设置做了…

网站访问过程

1、pc到结束访问的全过程 首先发送dns报文进行dns解析 然后建立tcp连接 web服务提供页面信息 首先发送dns包&#xff0c;进行域名解析&#xff0c;数据链路层报文头&#xff08;数据链路层&#xff09;&#xff0c;ip层头&#xff08;网络层&#xff09;&#xff0c;udp头&…

win7利用映射网络驱动器功能管理网站FTP空间

win7利用映射网络驱动器功能管理网站FTP空间 首先打开windows资源管理器&#xff0c;最菜单栏找到映射网络驱动器 弹出设置界面&#xff0c;我们选择最下面的“连接到可用于存储文档和图片的网站”&#xff0c;弹出向导&#xff0c;选择下一步 选中“选择自定义网络位置”&…

网站API自动化测试利器——Postman

转自&#xff1a;http://bayescafe.com/tools/use-postman-to-test-api-automatically.html 如有侵犯&#xff0c;请来信oikenqq.com 自从开始做API开发之后&#xff0c;我就在寻找合适的API测试工具。一开始不是很想用Chrome扩展&#xff0c;用的WizTools的工具&#xff0c;后…

用 Certbot 一键升级你的网站为 Https

转载自&#xff1a;https://www.v2ex.com/t/383032 如有侵犯&#xff0c;请来信&#xff1a;oikenqq.com 原文&#xff1a;(用 Certbot 一键升级你的网站为 Https)[https://lufficc.com/blog/upgrade-to-https-with-certbot] 小站以前采用的是 StartSSL 的 https 证书&#xf…

使用Chrome下载网站视频

引论 在现实生活中&#xff0c;我们经常需要下载一些视频&#xff0c;但是这些视频又没有提供下载的链接或者需要下载客户端。怎么办呢&#xff1f;使用Chrome可以下载大部分网站上的视频&#xff0c;让我们一起学习一下 流程 使用Chrome打开需要下载视频的网站按F12&#xf…

图片背景网页在网站建设中的运用

网页背景是网站建设中体现风格的一种方式&#xff0c;如果背景建设得好&#xff0c;那么对用户体验则有一定的帮助&#xff0c;现在的网站越来越多的人倾向于选择图片背景的网站设计&#xff0c;让网站看起来显得整体&#xff0c;增加吸引力。 由于现在的用户使用的PC端显示屏大…

如何真正的从细节上节省网站用户的时间

我们的用户是很珍惜时间的&#xff0c;我们也不应该随意浪费。在每个项目中都问自己两个问题&#xff1a;“我们是在消耗用户的时间来节省自己的时间吗&#xff1f;”“在这里要如何节省用户的时间&#xff1f;”在西方社会中&#xff0c;什么是最宝贵的财富&#xff1f;钱&…

瞬间抓住眼球!24个特色人像背景的全屏网站设计

人物肖像对视觉引导天然有不可思议的力量&#xff0c;现在全屏网页正在风头&#xff0c;有聪明的设计师已经将这种技巧运用上去了&#xff0c;效果超级赞&#xff01;今天分享一组高质量的特色人像背景全屏网站&#xff0c;不仅设计有范&#xff0c;模特也好看&#xff0c;绝对…

该如何做好关键词需求分析与网站布局?

建站&#xff0c;一个外行看起来非常有技术含量的词&#xff0c;在站长圈可以说都会做&#xff0c;免费的CMS上传到FTP点击下一下一步填写数据库登陆后台即可&#xff0c;做一个利于搜索引擎的站&#xff0c;可能很多人就会打退堂鼓了。利于搜索引擎的站可能涉及到挖掘关键词、…

决定网站命脉的SEO核心关键词选取

前几天有个群里的朋友来问我&#xff0c;为什么我的关键词做到首页了&#xff0c;但是连个电话咨询都没有呢&#xff0c;我仔细看了他的关键词&#xff0c;确实没错&#xff0c;排名非常好&#xff0c;关键词都在首页&#xff0c;但这些关键词竞争力几乎为零&#xff0c;在这里…

主流cms如何使用帝国备份王网站搬家

本人博客从建立到现在已经差不多快要半年啦!之前一直都没有进行任何的优化&#xff0c;其主要原因就是vsp主机网站加载速度太慢&#xff0c;导致网站打开需要超过6秒之上。因此&#xff0c;本人这几天狠下心来重新买的新主机&#xff0c;把所有网站都进行搬家&#xff0c;在搬家…

网站板块布局黄金视线分布法

网站的板块布局&#xff0c;对于网站排名来说&#xff0c;有着很大的影响作用&#xff0c;好的板块布局能让用户停留时间比较长&#xff0c;但很多行业的网站&#xff0c;大多都以自己的主观意识进行布局&#xff0c;自己想放哪里放哪里&#xff0c;没有一个主次之分&#xff0…

致新手:百度下拉框暗藏的SEO秘诀

作为一个SEO人员&#xff0c;都离不开数据分析一词&#xff0c;随着百度在2015年7月至8月的大调整&#xff0c;很多站长死在了百度算法的冲锋枪下&#xff0c;甚至更有人宣传“SEO之路已死”&#xff0c;其实不然&#xff0c;随着百度算法的调整&#xff0c;搜索引擎的宗旨就越…