ABP框架已经默认为我们实现了全局的异常模块,这里我们自定义全局异常模块,先在HelloWorldController中写一个异常接口,测试下ABP的默认全局异常:
        [HttpGet][Route("Exception")]public string Exception(){throw new NotImplementedException("这是一个未实现的异常接口!");}
 在.HttpApi.Hosting添加文件夹Middleware,新建一个中间件ExceptionHandlerMiddleware.cs,当出现异常时直接执行ExceptionHandlerAsync()方法,当没有异常发生时,在finally中判断当前请求状态,当状态不是200,获取到状态码枚举的Key值用来当作错误信息返回,最后也执行ExceptionHandlerAsync()方法,返回我们自定义的模型。
using Mag.Blog.ToolKits.Base;
using Microsoft.AspNetCore.Http;
using System.Net;
using System.Threading.Tasks;
using System;
using Mag.Blo