using NCC.DataValidation; using NCC.UnifyResult.Internal; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; using System.Threading.Tasks; namespace NCC.UnifyResult { /// /// 规范化结果提供器 /// public interface IUnifyResultProvider { /// /// 异常返回值 /// /// /// /// IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata); /// /// 成功返回值 /// /// /// /// IActionResult OnSucceeded(ActionExecutedContext context, object data); /// /// 验证失败返回值 /// /// /// /// IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata); /// /// 拦截返回状态码 /// /// /// /// /// Task OnResponseStatusCodes(HttpContext context, int statusCode, UnifyResultSettingsOptions unifyResultSettings = default); } }