首页 > 作文

NetCore实现全局模型绑定异常信息统一处理(场景分析)

更新时间:2023-04-04 12:22:29 阅读: 评论:0

本文主要讲解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 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图