73 lines
1.8 KiB
C#
73 lines
1.8 KiB
C#
namespace Cowain.Base.Models;
|
|
|
|
public class ResultModel<T> where T : notnull
|
|
{
|
|
private ResultModel(T data, string errorMessage, bool isSuccess, int code)
|
|
{
|
|
Data = data;
|
|
ErrorMessage = errorMessage;
|
|
IsSuccess = isSuccess;
|
|
Code = code;
|
|
}
|
|
|
|
/// <summary>
|
|
/// is request success
|
|
/// </summary>
|
|
public bool IsSuccess { get; }
|
|
/// <summary>
|
|
/// status code
|
|
/// </summary>
|
|
public int Code { get; }
|
|
/// <summary>
|
|
/// error message
|
|
/// </summary>
|
|
public string ErrorMessage { get; } = "";
|
|
/// <summary>
|
|
/// data
|
|
/// </summary>
|
|
public T Data { get; }
|
|
|
|
/// <summary>
|
|
/// success
|
|
/// </summary>
|
|
public static ResultModel<T> Success(T data, string errMsg = "")
|
|
{
|
|
if (data is null)
|
|
throw new ArgumentNullException(nameof(data), "Success时data不能为null");
|
|
return new ResultModel<T>(data, errMsg, true, 200);
|
|
}
|
|
|
|
/// <summary>
|
|
/// faild
|
|
/// </summary>
|
|
public static ResultModel<T> Error(string str, int code = 400)
|
|
{
|
|
// 错误时Data用默认值
|
|
return new ResultModel<T>(default!, str, false, code);
|
|
}
|
|
}
|
|
|
|
public class ResultModel
|
|
{
|
|
/// <summary>
|
|
/// is request success
|
|
/// </summary>
|
|
public bool IsSuccess { get; set; }
|
|
/// <summary>
|
|
/// status code
|
|
/// </summary>
|
|
public int Code { get; set; }
|
|
/// <summary>
|
|
/// error message
|
|
/// </summary>
|
|
public string ErrorMessage { get; set; } = "";
|
|
public static ResultModel Success(string errMsg = "")
|
|
{
|
|
return new ResultModel() { ErrorMessage = errMsg, IsSuccess = true, Code = 200 };
|
|
}
|
|
public static ResultModel Error(string str, int code = 400)
|
|
{
|
|
var ret = new ResultModel { ErrorMessage = str, IsSuccess = false, Code = code };
|
|
return ret;
|
|
}
|
|
} |