namespace Dpz.Core.Entity.Base;
public class ResponseResult
{
/// <summary>
/// 是否成功
/// </summary>
public bool Success { get; set; }
/// <summary>
/// 消息
/// </summary>
public string? Message { get; set; }
/// <summary>
/// 参数
/// </summary>
public object?[]? Arguments { get; set; }
/// <summary>
/// 状态码
/// </summary>
public int Code { get; set; }
public static ResponseResult ToSuccess() => new() { Success = true, Message = "操作成功" };
public static ResponseResult ToSuccess(string? message) =>
new() { Success = true, Message = message };
public static ResponseResult ToFail(string? message, int code = 1) =>
new()
{
Success = false,
Message = message,
Code = code,
};
}
public class ResponseResult<T> : ResponseResult
{
public T? Data { get; set; }
public ResponseResult<T> SuccessResult(T? data)
{
Data = data;
Success = true;
return this;
}
public ResponseResult<T> FailResult(string message, int code = 1)
{
Success = false;
Message = message;
Code = code;
Data = default;
return this;
}
public static ResponseResult<T> ToSuccess(T? data) => new() { Success = true, Data = data };
}
⚠⚠ 以下内容为AI分析的结果,请根据实际情况进行判断。
ResponseResult 类分析
这段代码定义了一个通用的响应结果类结构,主要用于API或服务调用的返回结果封装。以下是详细解释:
基础类 ResponseResult
这是一个基础响应类,包含以下主要属性:
- Success (bool): 表示操作是否成功
- Message (string?): 可选的响应消息
- Arguments (object?[]?): 可选的参数数组
- Code (int): 状态码,默认为0(成功)或1(失败)
提供了三个静态工厂方法:
ToSuccess(): 创建成功响应,默认消息"操作成功"ToSuccess(string? message): 创建带自定义消息的成功响应ToFail(string? message, int code = 1): 创建失败响应,可指定消息和错误码(默认1)
泛型类 ResponseResult<T>
继承自基础类,增加了:
- Data (T?): 泛型数据字段,用于携带返回的具体数据
提供了:
实例方法:
SuccessResult(T? data): 设置成功状态和数据FailResult(string message, int code = 1): 设置失败状态、消息和错误码,并清空数据
静态工厂方法:
ToSuccess(T? data): 创建成功响应并携带数据
使用场景
这种设计模式常用于:
- Web API 的统一响应格式
- 服务层方法的返回结果
- 前后端分离架构中的标准化响应
优点
- 统一的响应结构,便于前端处理
- 泛型支持使返回类型安全
- 工厂方法简化了对象创建
- 支持错误码和消息传递
- 可扩展性强(Arguments字段可用于额外信息)
这种设计使得API响应更加规范,便于维护和客户端处理。
评论加载中...