Skip to content

Fast.UnifyResult 公开 API

目标 net8.0;net9.0;net10.0。本页为语法声明与 XML 注释参考,运行示例和边界见模块用法

源码提交:43554c07f6c216f80b509bd535c0a5b66ae7f2e8。维护流程:scripts/export-dotnet-api.ps1;普通站点构建直接消费此文件。

Fast.UnifyResult.NonUnifyAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)]
public sealed class NonUnifyAttribute : Attribute

禁止规范化处理

Fast.UnifyResult.NonValidationAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)]
public sealed class NonValidationAttribute : Attribute

跳过验证

Fast.UnifyResult.UnifyContext

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class UnifyContext

规范化结果上下文

Fast.UnifyResult.UnifyContext.EnabledUnifyHandler = false

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static bool EnabledUnifyHandler = false;

是否启用规范化结果

Fast.UnifyResult.UnifyContext.UnifyResultType

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Type UnifyResultType { get; }

统一返回类型

Fast.UnifyResult.UnifyContext.HandleRestfulStatusCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static RestfulResult<object> HandleRestfulStatusCode(int code, object data, string message, HttpContext httpContext)

处理 Restful 响应状态码

  • 参数 code:业务或枚举编码
  • 参数 data:要处理或传输的数据
  • 参数 message:要记录或返回的消息
  • 参数 httpContext:当前请求上下文
  • 返回:处理 Restful 响应状态码

Fast.UnifyResult.UnifyContext.GetRestfulResult

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static RestfulResult<object> GetRestfulResult(int code, bool success, object data, object message,
        HttpContext httpContext)

获取规范化 RESTful 风格返回值

  • 参数 code:业务或枚举编码
  • 参数 success:操作是否成功
  • 参数 data:要处理或传输的数据
  • 参数 message:要记录或返回的消息
  • 参数 httpContext:当前请求上下文
  • 返回:获取到的规范化 RESTful 风格返回值

Fast.UnifyResult.IServiceCollectionExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class IServiceCollectionExtension

IServiceCollection 提供统一返回扩展方法

Fast.UnifyResult.IServiceCollectionExtension.AddDataValidation

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IServiceCollection AddDataValidation(this IServiceCollection services)

数据验证服务

  • 参数 services:要添加服务的服务集合
  • 返回:返回 services,便于链式调用

Fast.UnifyResult.IServiceCollectionExtension.AddFriendlyException

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IServiceCollection AddFriendlyException(this IServiceCollection services)

友好异常服务

  • 参数 services:要添加服务的服务集合
  • 返回:返回 services,便于链式调用

Fast.UnifyResult.IServiceCollectionExtension.AddUnifyResult

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IServiceCollection AddUnifyResult(this IServiceCollection services)

添加统一返回服务

  • 参数 services:要添加服务的服务集合
  • 返回:返回 services,便于链式调用

Fast.UnifyResult.IGlobalExceptionHandler

源码 · 目标:net8.0、net9.0、net10.0

csharp
public interface IGlobalExceptionHandler

全局异常处理

Fast.UnifyResult.IGlobalExceptionHandler.OnExceptionAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task OnExceptionAsync(ExceptionContext context, bool isUserFriendlyException, bool isValidationException);

异常拦截

  • 参数 context:当前异常处理上下文
  • 参数 isUserFriendlyException:是否将异常作为可直接展示给用户的异常处理
  • 参数 isValidationException:是否将异常作为参数验证异常处理
  • 返回:表示异步“异常拦截”操作的任务

Fast.UnifyResult.ExceptionMetadata

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public sealed class ExceptionMetadata

异常元数据

Fast.UnifyResult.ExceptionMetadata.StatusCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public int StatusCode { get; set; }

状态码

Fast.UnifyResult.ExceptionMetadata.ErrorCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public object ErrorCode { get; set; }

错误码

Fast.UnifyResult.ExceptionMetadata.OriginErrorCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public object OriginErrorCode { get; set; }

原始错误码(未被覆盖的 ErrorCode

Fast.UnifyResult.ExceptionMetadata.Errors

源码 · 目标:net8.0、net9.0、net10.0

csharp
public object Errors { get; set; }

错误对象(信息)

Fast.UnifyResult.ExceptionMetadata.Data

源码 · 目标:net8.0、net9.0、net10.0

csharp
public object Data { get; set; }

额外数据

Fast.UnifyResult.ValidationMetadata

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public sealed class ValidationMetadata

验证信息元数据

Fast.UnifyResult.ValidationMetadata.ValidationResult

源码 · 目标:net8.0、net9.0、net10.0

csharp
public object ValidationResult { get; set; }

验证结果

说明:返回字典或字符串类型

Fast.UnifyResult.ValidationMetadata.Message

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Message { get; set; }

异常消息

Fast.UnifyResult.ValidationMetadata.ModelState

源码 · 目标:net8.0、net9.0、net10.0

csharp
public ModelStateDictionary ModelState { get; set; }

验证状态

Fast.UnifyResult.ValidationMetadata.ErrorCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public object ErrorCode { get; set; }

错误码

Fast.UnifyResult.ValidationMetadata.OriginErrorCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public object OriginErrorCode { get; set; }

原始错误码(未被覆盖的 ErrorCode

Fast.UnifyResult.ValidationMetadata.StatusCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public int? StatusCode { get; set; }

状态码

Fast.UnifyResult.ValidationMetadata.FirstErrorProperty

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string FirstErrorProperty { get; set; }

首个错误属性

Fast.UnifyResult.ValidationMetadata.FirstErrorMessage

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string FirstErrorMessage { get; set; }

首个错误消息

Fast.UnifyResult.ValidationMetadata.Data

源码 · 目标:net8.0、net9.0、net10.0

csharp
public object Data { get; set; }

额外数据

Fast.UnifyResult.IUnifyResponseProvider

源码 · 目标:net8.0、net9.0、net10.0

csharp
public interface IUnifyResponseProvider

规范化响应数据提供器

Fast.UnifyResult.IUnifyResponseProvider.ResponseExceptionAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<(int statusCode, string message)> ResponseExceptionAsync(ExceptionContext context, ExceptionMetadata metadata,
        HttpContext httpContext);

响应异常处理

  • 参数 context:当前异常处理上下文
  • 参数 metadata:异常响应使用的元数据
  • 参数 httpContext:当前请求上下文
  • 返回:表示异步响应异常处理的任务,任务结果为响应异常处理

Fast.UnifyResult.IUnifyResponseProvider.ResponseValidationExceptionAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task ResponseValidationExceptionAsync(ActionExecutingContext context, ValidationMetadata metadata, HttpContext httpContext);

响应数据验证异常处理

  • 参数 context:当前操作上下文
  • 参数 metadata:验证失败响应使用的元数据
  • 参数 httpContext:当前请求上下文
  • 返回:表示异步“响应数据验证异常处理”操作的任务

Fast.UnifyResult.IUnifyResponseProvider.ResponseDataAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<object> ResponseDataAsync(long timestamp, object data, HttpContext httpContext);

响应数据处理

说明:只有响应成功且为正常返回才会调用

  • 参数 timestamp:时间戳
  • 参数 data:要处理或传输的数据
  • 参数 httpContext:当前请求上下文
  • 返回:表示异步响应数据处理的任务,任务结果为响应数据处理

Fast.UnifyResult.IUnifyResultProvider

源码 · 目标:net8.0、net9.0、net10.0

csharp
public interface IUnifyResultProvider

规范化结果提供器

Fast.UnifyResult.IUnifyResultProvider.OnException

源码 · 目标:net8.0、net9.0、net10.0

csharp
IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata, int? statusCode = null,
        string message = null);

异常返回值

  • 参数 context:当前异常处理上下文
  • 参数 metadata:异常响应使用的元数据
  • 参数 statusCode:HTTP 状态码
  • 参数 message:要记录或返回的消息
  • 返回:异常返回值

Fast.UnifyResult.IUnifyResultProvider.OnSucceeded

源码 · 目标:net8.0、net9.0、net10.0

csharp
IActionResult OnSucceeded(ActionExecutedContext context, object data);

成功返回值

  • 参数 context:当前操作上下文
  • 参数 data:要处理或传输的数据
  • 返回:成功返回值

Fast.UnifyResult.IUnifyResultProvider.OnValidateFailed

源码 · 目标:net8.0、net9.0、net10.0

csharp
IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata);

验证失败返回值

  • 参数 context:当前操作上下文
  • 参数 metadata:验证失败响应使用的元数据
  • 返回:验证失败返回值

Fast.UnifyResult.IUnifyResultProvider.OnResponseStatusCodes

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task OnResponseStatusCodes(HttpContext httpContext, int statusCode);

拦截返回状态码

  • 参数 httpContext:当前请求上下文
  • 参数 statusCode:HTTP 状态码
  • 返回:表示异步“拦截返回状态码”操作的任务

Fast.UnifyResult.BadPageResult

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public class BadPageResult : StatusCodeResult

错误页面

Fast.UnifyResult.BadPageResult.Title

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Title { get; set; } = "ModelState Invalid";

标题

Fast.UnifyResult.BadPageResult.Description

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Description { get; set; } = "User data verification failed. Please input it correctly.";

描述

Fast.UnifyResult.BadPageResult.Base64Icon

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Base64Icon { get; set; } =
        "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0LjIxIDEzLjVsMS43NjcgMS43NzMtLjcwNC43MDRMMTMuNSAxNC4yMWwtMS43NzMgMS43NzMtLjcwNC0uNzEgMS43NzQtMS43NzQtMS43NzQtMS43NzMuNzA0LS43MDQgMS43NzMgMS43NzQgMS43NzMtMS43NzQuNzA0LjcxMUwxNC4yMSAxMy41ek0yIDE1aDh2MUgxVjBoOC43MUwxNCA0LjI5VjEwaC0xVjVIOVYxSDJ2MTR6bTgtMTFoMi4yOUwxMCAxLjcxVjR6IiBmaWxsPSIjMTAxMDEwIi8+PC9zdmc+";

图标

说明:必须是 base64 类型

Fast.UnifyResult.BadPageResult.Code

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Code { get; set; } = "";

错误代码

Fast.UnifyResult.BadPageResult.CodeLang

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string CodeLang { get; set; } = "json";

错误代码语言

Fast.UnifyResult.BadPageResult.Status401Unauthorized

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static BadPageResult Status401Unauthorized { get; }

返回通用 401 错误页

Fast.UnifyResult.BadPageResult.Status403Forbidden

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static BadPageResult Status403Forbidden { get; }

返回通用 403 错误页

Fast.UnifyResult.BadPageResult.Status404NotFound

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static BadPageResult Status404NotFound { get; }

返回通用 404 错误页

Fast.UnifyResult.BadPageResult.Status500InternalServerError

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static BadPageResult Status500InternalServerError { get; }

返回通用 500 错误页

Fast.UnifyResult.BadPageResult.BadPageResult

源码 · 目标:net8.0、net9.0、net10.0

csharp
public BadPageResult() : base(400)

初始化默认返回 HTTP 400 的错误页结果

Fast.UnifyResult.BadPageResult.BadPageResult

源码 · 目标:net8.0、net9.0、net10.0

csharp
public BadPageResult(int statusCode) : base(statusCode)

使用指定 HTTP 状态码初始化错误页结果

  • 参数 statusCode:要写入响应的 HTTP 状态码

Fast.UnifyResult.BadPageResult.ExecuteResult

源码 · 目标:net8.0、net9.0、net10.0

csharp
public override void ExecuteResult(ActionContext context)

说明继承自接口或基类,需结合对应声明阅读。

Fast.UnifyResult.BadPageResult.ToString

源码 · 目标:net8.0、net9.0、net10.0

csharp
public override string ToString()

说明继承自接口或基类,需结合对应声明阅读。

Fast.UnifyResult.RestfulResult

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public class RestfulResult<T>

RESTful 风格返回格式

  • 类型参数 T:该类型处理的值类型

Fast.UnifyResult.RestfulResult.Success

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool Success { get; set; }

执行成功

Fast.UnifyResult.RestfulResult.Code

源码 · 目标:net8.0、net9.0、net10.0

csharp
public int? Code { get; set; }

状态码

Fast.UnifyResult.RestfulResult.Message

源码 · 目标:net8.0、net9.0、net10.0

csharp
public object Message { get; set; }

错误信息

Fast.UnifyResult.RestfulResult.Data

源码 · 目标:net8.0、net9.0、net10.0

csharp
public T Data { get; set; }

数据

Fast.UnifyResult.RestfulResult.Timestamp

源码 · 目标:net8.0、net9.0、net10.0

csharp
public long Timestamp { get; set; }

时间戳