服务器部署测试~~~
This commit is contained in:
50
Models/ResponseModels.cs
Normal file
50
Models/ResponseModels.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
namespace SimpleTodoApiWithPg.Models
|
||||
{
|
||||
// 这是一个泛型记录 (generic record),用于包装所有 API 的返回数据
|
||||
public record ApiResponse<T>(
|
||||
bool Success,
|
||||
string Message,
|
||||
T? Data,
|
||||
int Code = 200
|
||||
);
|
||||
|
||||
// 提供一个静态类,方便快速创建标准响应
|
||||
public static class ApiResponse
|
||||
{
|
||||
public static ApiResponse<T> Ok<T>(T data, string message = "操作成功")
|
||||
{
|
||||
return new ApiResponse<T>(true, message, data);
|
||||
}
|
||||
|
||||
// **** 关键修改在这里:让 Fail 方法也变为泛型 ****
|
||||
// 它接受一个类型参数 T,并返回 ApiResponse<T>
|
||||
// default(T) 对于引用类型(如 AuthResponse)会返回 null
|
||||
public static ApiResponse<T> Fail<T>(string message, int code = 400)
|
||||
{
|
||||
return new ApiResponse<T>(false, message, default(T), code);
|
||||
}
|
||||
|
||||
// 您可以保留一个非泛型版本的 Fail 方便在某些无需特定 Data 类型的地方使用
|
||||
// 但在需要特定返回类型的地方,请使用泛型版本
|
||||
public static ApiResponse<object> Fail(string message, int code = 400)
|
||||
{
|
||||
return new ApiResponse<object>(false, message, null, code);
|
||||
}
|
||||
}
|
||||
|
||||
// 更新登录成功后返回的 DTO
|
||||
public class AuthResponse
|
||||
{
|
||||
public string AccessToken { get; set; } = null!;
|
||||
public string RefreshToken { get; set; } = null!;
|
||||
public DateTime AccessTokenExpiration { get; set; }
|
||||
}
|
||||
|
||||
public class RegisterResponse
|
||||
{
|
||||
public string? Username { get; set; }
|
||||
public string? Email { get; set; }
|
||||
public string? Password { get; set; }
|
||||
public Guid UserId { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user