本文主要讲解netcore如何使用中间件捕获模型绑定的异常信息
在.net core 中请求中,如果参数的类型错误,我们在控制器中定义的方法是不会执行的,当我们需要捕获模型绑定的异常信息时,可以使用apibehavioroptions.。接下来通过一个小demo给大家讲解一下用法
实现代码
public static void configuremodelbinding植树节手抄报内容大全exceptionhandling(this irvicecollection rvices) { rvices.configure<apibehavi早泄咋办oroptions>(options =子不教> { options.invalidmodelstateresponfactory = actioncontext => { var errors = actioncontext.modelstate? .where(e => e.value.errors.count > 0) ?.lect(e => new object //api返回的model信息 { errorcode = -9998, errormessage=e.value.errors.first().errormessage, status=fal, data=null })?.firstordefault(); return new badre藿香正气滴丸questobjectresult(errors); //此时http状态码返回的依旧是400,如果想返回正常的http状态码200,请使用下面一行代码 //return new objectresult(errors); }; }); }
program.cs中注入
rvices.configuremodelbindingexceptionhandling();
controller中添加testexp1方法
[httpget("testexp1")] public iactionresult testexp1(int id) { 纸花制作 _logger.loginformation("测试"); return ok(); }
在testexp1中声明的请求参数为int,所以我们在请求时使用字符串作为参数来请求,如下图
请求的结果信息正好是我们封装的信息,证明apibehavioroptions能够正常的捕获到请求中参数类型错误的错误,
到此这篇关于netcore实现全局模型绑定异常信息统一处理的文章就介绍到这了,更多相关netcore全局异常处理内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 12:22:28,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/d6ae26e93803fcb3b5c3888f8ef3298f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:NetCore实现全局模型绑定异常信息统一处理(场景分析).doc
本文 PDF 下载地址:NetCore实现全局模型绑定异常信息统一处理(场景分析).pdf
留言与评论(共有 0 条评论) |