网站首页 网站源码
namespace Dpz.Core.Infrastructure;
#nullable enable
public class ResponseResult
{
/// <summary>
/// 是否成功
/// </summary>
public bool Success { get; set; }
/// <summary>
/// 消息
/// </summary>
public string? Message { get; set; }
/// <summary>
/// 状态码
/// </summary>
public int Code { get; set; }
public static ResponseResult ToSuccess() => new() { Success = true };
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 };
public new static ResponseResult<T> ToFail(string message, int code = 1) =>
new()
{
Success = false,
Message = message,
Code = code,
Data = default,
};
}
上述代码定义了一个用于处理响应结果的基础类 ResponseResult
及其泛型版本 ResponseResult<T>
。这些类通常用于在应用程序中返回操作的结果,尤其是在 Web API 或服务中。以下是对代码的详细解释:
ResponseResult
类属性:
Success
: 一个布尔值,指示操作是否成功。Message
: 一个可选的字符串,提供有关操作的消息(例如错误信息)。Code
: 一个整数,表示状态码,通常用于指示操作的结果类型(例如,成功、失败、错误等)。静态方法:
ToSuccess()
: 返回一个表示成功的 ResponseResult
实例,Success
属性设置为 true
。ToFail(string message, int code = 1)
: 返回一个表示失败的 ResponseResult
实例,Success
属性设置为 false
,并且可以设置自定义的消息和状态码。ResponseResult<T>
类ResponseResult<T>
是 ResponseResult
的泛型版本,允许在响应中包含数据。
属性:
Data
: 一个可选的泛型属性,存储操作成功时返回的数据。实例方法:
SuccessResult(T? data)
: 设置 Data
属性并将 Success
属性设置为 true
,表示操作成功并返回数据。FailResult(string message, int code = 1)
: 设置 Success
为 false
,并设置消息和状态码,同时将 Data
设置为默认值(通常为 null
)。静态方法:
ToSuccess(T? data)
: 返回一个表示成功的 ResponseResult<T>
实例,包含成功的数据。ToFail(string message, int code = 1)
: 返回一个表示失败的 ResponseResult<T>
实例,包含失败的消息和状态码,同时 Data
设置为默认值。这些类的主要功能是提供一个统一的方式来表示操作的结果,包括成功与失败的状态、相关消息和数据。这种设计模式在 API 开发中非常常见,能够帮助开发者清晰地传达操作的结果,并且使得调用者能够方便地处理不同的响应情况。