AcaMate_API/Program/Common/Model/Status.cs

64 lines
1.6 KiB
C#

using System.Text.Json;
namespace AcaMate.Common.Models;
public class APIResponseStatus<T>
{
public Status status { get; set; }
public T? data { get; set; }
public string JsonToString()
{
return JsonSerializer.Serialize(this);
}
}
public class Status
{
public string code { get; set; }
public string message { get; set; }
}
public static class APIResponse
{
public static APIResponseStatus<T> Send<T>(string code, string message, T data)
{
return new APIResponseStatus<T>
{
status = new Status()
{
code = code,
message = message
},
data = data
};
}
/// <summary>
/// 반환값 없는 API 정상 동작시
/// </summary>
public static APIResponseStatus<string> Success (){
return Send("000", "정상", "");
}
public static APIResponseStatus<string> InvalidInputError(string? msg = null)
{
return Send("100", msg ?? "입력 값이 유효하지 않습니다.", "");
}
public static APIResponseStatus<string> NotFoundError(string? msg = null)
{
return Send("200", msg ?? "알맞은 값을 찾을 수 없습니다.", "");
}
public static APIResponseStatus<string> InternalSeverError(string? msg = null)
{
return Send("300", msg ?? "통신에 오류가 발생하였습니다.", "");
}
public static APIResponseStatus<string> UnknownError(string? msg = null)
{
return Send("999", msg ?? "알 수 없는 오류가 발생하였습니다.", "");
}
}