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