这是基于vue-vben-admin 模板适用于abp Vnext的前端管理项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
feijie 6b15dbf0f5 feat(docs): 添加Wrapper模块文档 1 year ago
..
LINGYUN/Abp/Wrapper upgrade abp framework to 8.2.0 1 year ago
FodyWeavers.xml upgrade(abp): upgrade abp framework to 7.4.0 2 years ago
FodyWeavers.xsd upgrade(abp): upgrade abp framework to 7.4.0 2 years ago
LINGYUN.Abp.Wrapper.csproj upgrade abp framework to 8.2.0 1 year ago
README.EN.md feat(docs): 添加Wrapper模块文档 1 year ago
README.md feat(docs): 添加Wrapper模块文档 1 year ago

README.md

LINGYUN.Abp.Wrapper

包装器模块,用于统一包装API返回结果和异常处理。

功能

  • 统一的返回结果包装
  • 灵活的异常处理机制
  • 支持多种忽略策略
  • 可配置的空结果处理
  • 自定义异常处理器

安装

dotnet add package LINGYUN.Abp.Wrapper

配置使用

[DependsOn(typeof(AbpWrapperModule))]
public class YouProjectModule : AbpModule
{
    public override void ConfigureServices(ServiceConfigurationContext context)
    {
        Configure<AbpWrapperOptions>(options =>
        {
            // 启用包装器
            options.IsEnabled = true;
            
            // 自定义未处理异常的错误代码
            options.CodeWithUnhandled = "500";
            
            // 忽略特定前缀的URL
            options.IgnorePrefixUrls.Add("/api/health");
            
            // 添加自定义异常处理器
            options.AddHandler<CustomException>(new CustomExceptionHandler());
        });
    }
}

配置项说明

  • AbpWrapperOptions.IsEnabled 是否包装返回结果,默认: false

  • AbpWrapperOptions.CodeWithUnhandled 出现未处理异常时的返回错误代码,默认500

  • AbpWrapperOptions.CodeWithSuccess 处理成功返回代码,默认0

  • AbpWrapperOptions.ErrorWithEmptyResult 请求资源时,如果资源为空是否返回错误消息,默认false

  • AbpWrapperOptions.HttpStatusCode 包装后的Http响应代码, 默认: 200

  • AbpWrapperOptions.CodeWithEmptyResult 当返回空对象时返回错误代码,默认: 404

  • AbpWrapperOptions.MessageWithEmptyResult 当返回空对象时返回错误消息, 默认: Not Found

  • AbpWrapperOptions.IgnorePrefixUrls 指定哪些Url开头的地址不需要处理

  • AbpWrapperOptions.IgnoreNamespaces 指定哪些命名空间开头不需要处理

  • AbpWrapperOptions.IgnoreControllers 指定哪些控制器不需要处理

  • AbpWrapperOptions.IgnoreReturnTypes 指定哪些返回结果类型不需要处理

  • AbpWrapperOptions.IgnoreExceptions 指定哪些异常类型不需要处理

  • AbpWrapperOptions.IgnoredInterfaces 指定哪些接口不需要处理(默认实现IWrapDisabled接口不进行处理)

使用示例

1. 基本使用

public class TestController : AbpController
{
    public async Task<WrapResult<string>> GetAsync()
    {
        return new WrapResult<string>("0", "Hello World");
    }
}

2. 忽略包装

[IgnoreWrapResult]
public class HealthController : AbpController
{
    public async Task<string> GetAsync()
    {
        return "OK";
    }
}

3. 自定义异常处理

public class CustomExceptionHandler : IExceptionWrapHandler
{
    public void Wrap(ExceptionWrapContext context)
    {
        context.WithCode("CUSTOM_ERROR")
               .WithMessage("发生自定义异常")
               .WithDetails(context.Exception.Message);
    }
}

链接