MVC WebAPI框架里设置异常返回格式统一
2017-04-21 16:11
489 查看
webApi里设置全局异常返回格式
最后大功告成,效果:
最后,本人技术菜鸟,有好的建议希望分享,谢谢
今天为了设置api返回格式统一,在网上找了一推资料,各种资料参差不齐的,最后自己捣鼓,终于弄出来了,直接上代码
/// <summary> /// 消息代理处理,用来捕获这些特殊的异常信息 /// </summary> public class CustomErrorMessageDelegatingHandler : DelegatingHandler { protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { return base.SendAsync(request, cancellationToken).ContinueWith<HttpResponseMessage>((responseToCompleteTask) => { HttpResponseMessage response = responseToCompleteTask.Result; HttpError error = null; if (response.TryGetContentValue<HttpError>(out error)) { //自定义错误处理 //error.Message = "这个接口调用出错了"; } if (error != null) { //这是本人创建的一个返回类 var resultMsg = new ResultMsg { StatusCode = (int)StatusCodeEnum.HttpUrlEror, Info =error.MessageDetail }; return new HttpResponseMessage { Content = new StringContent(resultMsg.ToJson(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json"), StatusCode = HttpStatusCode.OK }; } else { return response; } }); } }然后就是注册该cs文件,找到Global.asax文件
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); //FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); //RouteConfig.RegisterRoutes(RouteTable.Routes); //BundleConfig.RegisterBundles(BundleTable.Bundles); GlobalConfiguration.Configure(WebApiConfig.Register); GlobalConfiguration.Configuration.Filters.Add(new ErrorHandler()); }
最后大功告成,效果:
{ "StatusCode": 404, "Info": "在控制器“StudyTask”上找不到与该请求匹配的操作。", "Data": null }
最后,本人技术菜鸟,有好的建议希望分享,谢谢
相关文章推荐
- WebAPI框架里设置异常返回格式统一
- 自定义统一api返回json格式(app后台框架搭建三)
- ASP.NET Core WebApi 返回统一格式参数
- ASP.NET Core WebApi 返回统一格式参数(Json 中 Null 替换为空字符串)
- 修改 mvc webapi 默认返回 json 格式
- ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理
- B/S开发框架(asp.net mvc + web api + easyui)
- MVC web api 返回JSON的几种方式,Newtonsoft.Json序列化日期时间去T的几种方式。
- mvc webapi 返回字符串自动加双引号
- MVC WebAPI 三层分布式框架开发
- C# web api返回类型设置为json的两种方法
- C# web api返回类型设置为json的两种方法
- MVC WebAPI 三层分布式框架开发
- C# web api返回类型设置为json的两种方法
- C# web api返回类型设置为json的两种方法
- 【C#MVC】 使用HttpWebRequest访问外部API,并返回json信息 (Access_Key)
- C# web api返回类型设置为json的两种方法
- Spring4 MVC 返回json格式时候 设置不返回null值属性的问题
- C# web api返回类型设置为json的两种方法
- .net Rest Web Api Controller 返回JSON格式大小写问题解决.