132 lines
4.8 KiB
C#
132 lines
4.8 KiB
C#
using System.Net;
|
|
|
|
namespace Microservice.Common
|
|
{
|
|
/// <summary>
|
|
/// API 响应工具类
|
|
/// </summary>
|
|
public static class ApiResponseHelper
|
|
{
|
|
/// <summary>
|
|
/// 生成成功响应
|
|
/// </summary>
|
|
/// <typeparam name="T">响应数据类型</typeparam>
|
|
/// <param name="data">数据负载</param>
|
|
/// <param name="message">响应消息</param>
|
|
/// <returns>标准化 API 响应</returns>
|
|
public static ApiResponse<T> Success<T>(T data, string message = "Success")
|
|
{
|
|
return new ApiResponse<T>(
|
|
statusCode: (int)HttpStatusCode.OK,
|
|
message: message,
|
|
data: data
|
|
);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 生成成功响应(无数据)
|
|
/// </summary>
|
|
/// <param name="message">响应消息</param>
|
|
/// <returns>标准化 API 响应</returns>
|
|
public static ApiResponse Success(string message = "Success")
|
|
{
|
|
return new ApiResponse(
|
|
statusCode: (int)HttpStatusCode.OK,
|
|
message: message,
|
|
data: null
|
|
);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 生成失败响应
|
|
/// </summary>
|
|
/// <typeparam name="T">响应数据类型</typeparam>
|
|
/// <param name="statusCode">状态码</param>
|
|
/// <param name="message">响应消息</param>
|
|
/// <param name="data">数据负载</param>
|
|
/// <returns>标准化 API 响应</returns>
|
|
public static ApiResponse<T> Error<T>(HttpStatusCode statusCode, string message, T data = default)
|
|
{
|
|
return new ApiResponse<T>(
|
|
statusCode: (int)statusCode,
|
|
message: message,
|
|
data: data
|
|
);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 生成失败响应(无数据)
|
|
/// </summary>
|
|
/// <param name="statusCode">状态码</param>
|
|
/// <param name="message">响应消息</param>
|
|
/// <returns>标准化 API 响应</returns>
|
|
public static ApiResponse Error(HttpStatusCode statusCode, string message)
|
|
{
|
|
return new ApiResponse(
|
|
statusCode: (int)statusCode,
|
|
message: message,
|
|
data: null
|
|
);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 生成 400 Bad Request 响应
|
|
/// </summary>
|
|
/// <typeparam name="T">响应数据类型</typeparam>
|
|
/// <param name="message">响应消息</param>
|
|
/// <param name="data">数据负载</param>
|
|
/// <returns>标准化 API 响应</returns>
|
|
public static ApiResponse<T> BadRequest<T>(string message = "Bad Request", T data = default)
|
|
{
|
|
return Error(HttpStatusCode.BadRequest, message, data);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 生成 401 Unauthorized 响应
|
|
/// </summary>
|
|
/// <typeparam name="T">响应数据类型</typeparam>
|
|
/// <param name="message">响应消息</param>
|
|
/// <param name="data">数据负载</param>
|
|
/// <returns>标准化 API 响应</returns>
|
|
public static ApiResponse<T> Unauthorized<T>(string message = "Unauthorized", T data = default)
|
|
{
|
|
return Error(HttpStatusCode.Unauthorized, message, data);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 生成 403 Forbidden 响应
|
|
/// </summary>
|
|
/// <typeparam name="T">响应数据类型</typeparam>
|
|
/// <param name="message">响应消息</param>
|
|
/// <param name="data">数据负载</param>
|
|
/// <returns>标准化 API 响应</returns>
|
|
public static ApiResponse<T> Forbidden<T>(string message = "Forbidden", T data = default)
|
|
{
|
|
return Error(HttpStatusCode.Forbidden, message, data);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 生成 404 Not Found 响应
|
|
/// </summary>
|
|
/// <typeparam name="T">响应数据类型</typeparam>
|
|
/// <param name="message">响应消息</param>
|
|
/// <param name="data">数据负载</param>
|
|
/// <returns>标准化 API 响应</returns>
|
|
public static ApiResponse<T> NotFound<T>(string message = "Not Found", T data = default)
|
|
{
|
|
return Error(HttpStatusCode.NotFound, message, data);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 生成 500 Internal Server Error 响应
|
|
/// </summary>
|
|
/// <typeparam name="T">响应数据类型</typeparam>
|
|
/// <param name="message">响应消息</param>
|
|
/// <param name="data">数据负载</param>
|
|
/// <returns>标准化 API 响应</returns>
|
|
public static ApiResponse<T> InternalServerError<T>(string message = "Internal Server Error", T data = default)
|
|
{
|
|
return Error(HttpStatusCode.InternalServerError, message, data);
|
|
}
|
|
}
|
|
} |