.NET Core轻量级结果封装库SJM.ResultCore

项目概述

SJM.ResultCore 是一个基于 .NET Core 的轻量级结果封装库,旨在标准化接口返回值格式,统一成功/失败结果的返回模型。项目通过简洁的泛型设计和扩展方法,帮助开发者快速构建结构清晰的 API 响应,适用于 WebAPI、微服务等场景。

核心功能

  1. 统一返回值模型
    提供 Result<T> 泛型类,封装数据、状态码和消息,避免接口返回格式混乱。示例代码:

    public Result<string> GetUserName()
    {
        return Result<string>.Success("张三");
    }
    

  2. 状态码支持
    内置 ResultCode 枚举,涵盖常见状态(如成功、失败、未授权等),支持自定义扩展:

    return Result<int>.Fail(ResultCode.Unauthorized, "权限不足");
    

  3. 扩展方法
    提供 ToResult() 等扩展方法,简化与其他类型的交互:

    var data = new List<int> { 1, 2, 3 };
    return data.ToResult(); // 自动转换为成功结果
    

使用场景

  • WebAPI 开发
    确保所有接口返回一致的 JSON 结构,例如:

    {
        "code": 200,
        "message": "操作成功",
        "data": { ... }
    }
    

  • 微服务调用
    标准化服务间通信的响应格式,降低解析复杂度。

安装与集成

通过 NuGet 安装:

dotnet add package SJM.ResultCore

在项目中引入命名空间后即可直接使用:

using SJM.ResultCore;

完整示例

以下示例展示从业务逻辑到控制器返回的全流程:

// 业务层
public Result<List<Product>> GetProducts()
{
    try
    {
        var products = _repository.GetAll();
        return products.ToResult();
    }
    catch (Exception ex)
    {
        return Result<List<Product>>.Error(ex.Message);
    }
}

// 控制器
[HttpGet]
public IActionResult Products()
{
    var result = _service.GetProducts();
    return Ok(result); // 自动序列化为标准 JSON
}

性能与扩展性

  • 轻量级设计
    无额外依赖,仅基于 .NET Standard 2.0 构建。
  • 自定义扩展
    可通过继承 ResultBase 实现个性化需求。

项目开源地址:Gitee 仓库 支持贡献和问题反馈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值