feat: ApiResponse<T> 공통 응답 포맷 구현 (#14)

This commit is contained in:
SEAN 2026-02-09 13:57:37 +09:00
parent 5d8e30494e
commit 4f0a4b9bf9

View File

@ -0,0 +1,33 @@
using System.Text.Json.Serialization;
namespace SPMS.Domain.Common;
public class ApiResponse
{
[JsonPropertyName("result")]
public bool Result { get; init; }
[JsonPropertyName("code")]
public string Code { get; init; } = ErrorCodes.Success;
[JsonPropertyName("msg")]
public string Msg { get; init; } = string.Empty;
public static ApiResponse Success()
=> new() { Result = true, Code = ErrorCodes.Success };
public static ApiResponse Fail(string code, string msg)
=> new() { Result = false, Code = code, Msg = msg };
}
public class ApiResponse<T> : ApiResponse
{
[JsonPropertyName("data")]
public T? Data { get; init; }
public static ApiResponse<T> Success(T data)
=> new() { Result = true, Code = ErrorCodes.Success, Data = data };
public new static ApiResponse<T> Fail(string code, string msg)
=> new() { Result = false, Code = code, Msg = msg };
}