|
- using Newtonsoft.Json.Serialization;
- using Newtonsoft.Json;
-
- namespace HealthMonitor.WebApi.Controllers.Api
- {
- public class ApiResponse<T>
- {
- public string Timestamp { get; set; } = default!;
-
- public T Data { get; set; } = default!;
-
- public Result Result { get; set; } = default!;
-
- //public bool Succeeded { get; set; }
- // public string Message { get; set; } = String.Empty;
-
-
- public static ApiResponse<T> Fail(int code, string errorMessage) => new()
- {
- //MsgType = msgType,
- //Signature = signature,
- Timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),
- Result = new()
- {
- Status = "failed",
- Code = code,
- Message = errorMessage,
- },
-
- };
-
- //public static ApiResponse<T> Success(string msgType,string signature,T data) => new()
- //{
- // MsgType= msgType,
- // Signature = signature,
- // Timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),
- // Data = data,
- // Result = new()
- // {
- // Status = "succeed",
- // Code = 200,
- // Message = "请求成功!",
- // },
- //};
- public static ApiResponse<T> Success(T data) => new()
- {
- Timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),
- Data = data,
- Result = new()
- {
- Status = "succeed",
- Code = 200,
- Message = "请求成功!",
- },
- };
- public string ToJsonString()
- {
- var settings = new JsonSerializerSettings
- {
- DateFormatString = "yyyy-MM-dd HH:mm:ss.fff", // 设置日期格式
- ContractResolver = new DefaultContractResolver { NamingStrategy = new CamelCaseNamingStrategy() }
- };
- return JsonConvert.SerializeObject(this, settings);
- }
- }
-
-
- public class Result
- {
- public string Status { get; set; } = default!;
- public int Code { get; set; }
- public string Message { get; set; } = default!;
- }
- }
|