using Newtonsoft.Json;
using System.Web.Mvc;
using WebWIPAPI.Models;
using WebWIPAPI.Properties;
namespace WebWIPAPI.Utils
{
///
/// API响应帮助类
///
public class ApiResponseHelper
{
///
/// 将指定的泛型 API 响应对象序列化为 JSON 格式日志并记录,然后返回一个禁止 GET 请求的 JSON 结果。
///
/// ApiResponse 泛型类型参数,表示响应数据的类型
/// 要返回的 API 响应对象,包含状态码、消息和数据等信息
/// 当前 API 对应的 Action 名称,用于日志记录,标识请求来源
/// 请求参数的描述信息,可以是参数对象的 JSON 字符串或简要描述,默认为空字符串
///
/// 返回一个配置为禁止 GET 请求的 ,
/// 其中包含传入的 数据,
/// 并在日志中记录 Action 名称、请求参数与响应信息。
///
public static JsonResult ReturnApiResponse(ApiResponse response, string actionName, string requestParams = "")
{
var responseStr = JsonConvert.SerializeObject(response);
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1}, {2}", actionName, "请求参数:" + requestParams, "响应信息:" + responseStr);
return new JsonResult
{
Data = response,
JsonRequestBehavior = JsonRequestBehavior.DenyGet
};
}
}
}