using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DG.Core { public static class IMvcBuilderApiResultExtensions { /// /// 启用API标准返回值模式 /// /// /// /// public static IMvcBuilder AddApiResult(this IMvcBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } return builder.AddMvcOptions(options => { options.Filters.Add(typeof(ApiExceptionFilterAttribute)); options.Filters.Add(typeof(ApiResultFilterAttribute)); }); } /// /// 启用API签名模式 /// /// /// /// public static IMvcBuilder AddApiSignature(this IMvcBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } return builder.AddMvcOptions(options => { options.Filters.Add(typeof(ApiSecurityAsyncFilter)); options.Filters.Add(typeof(ApiSignatureAsyncFilterAttribute)); options.Filters.Add(typeof(ApiTimeSecurityAsyncFilter)); }); } } }