using System.Text.Json; namespace AcaMate.Common.Models; public class APIResponseStatus { 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 Send(string code, string message, T data) { return new APIResponseStatus { status = new Status() { code = code, message = message }, data = data }; } /// /// 반환값 없는 API 정상 동작시 /// public static APIResponseStatus Success (){ return Send("000", "정상", ""); } public static APIResponseStatus InvalidInputError() { return Send("001", "입력 값이 유효하지 않습니다.", ""); } public static APIResponseStatus NotFoundError() { return Send("002", "알맞은 값을 찾을 수 없습니다.", ""); } public static APIResponseStatus InternalSeverError() { return Send("003", "통신에 오류가 발생하였습니다.", ""); } public static APIResponseStatus UnknownError() { return Send("999", "알 수 없는 오류가 발생하였습니다.", ""); } } // // public static class DefaultResponse // { // // private static readonly Lazy _instance = new Lazy(); // // public static ErrorResponse Instace => _instance.Value; // // // private ErrorResponse() // // { // // // 외부 초기화 방지 // // } // // // public static APIResponseStatus Success = new APIResponseStatus // { // status = new Status() // { // code = "000", // message = "정상" // } // }; // // public static APIResponseStatus InvalidInputError = new APIResponseStatus // { // status = new Status() // { // code = "001", // message = "입력 값이 유효하지 않습니다." // } // }; // // public static APIResponseStatus NotFoundError = new APIResponseStatus // { // status = new Status() // { // code = "002", // message = "알맞은 값을 찾을 수 없습니다." // } // }; // // public static APIResponseStatus InternalSeverError = new APIResponseStatus // { // status = new Status // { // code = "003", // message = "통신에 오류가 발생하였습니다." // } // }; // // // public static APIResponseStatus UnknownError = new APIResponseStatus // { // status = new Status() // { // code = "999", // message = "알 수 없는 오류가 발생하였습니다." // } // }; // }