using Newtonsoft.Json;
|
using System.Web.Mvc;
|
using WebWIPAPI.Models;
|
using WebWIPAPI.Properties;
|
|
|
namespace WebWIPAPI.Utils
|
{
|
/// <summary>
|
/// API响应帮助类
|
/// </summary>
|
public class ApiResponseHelper
|
{
|
/// <summary>
|
/// 将指定的泛型 API 响应对象序列化为 JSON 格式日志并记录,然后返回一个禁止 GET 请求的 JSON 结果。
|
/// </summary>
|
/// <typeparam name="T">ApiResponse 泛型类型参数,表示响应数据的类型</typeparam>
|
/// <param name="response">要返回的 API 响应对象,包含状态码、消息和数据等信息</param>
|
/// <param name="actionName">当前 API 对应的 Action 名称,用于日志记录,标识请求来源</param>
|
/// <param name="requestParams">请求参数的描述信息,可以是参数对象的 JSON 字符串或简要描述,默认为空字符串</param>
|
/// <returns>
|
/// 返回一个配置为禁止 GET 请求的 <see cref="JsonResult"/>,
|
/// 其中包含传入的 <paramref name="response"/> 数据,
|
/// 并在日志中记录 Action 名称、请求参数与响应信息。
|
/// </returns>
|
public static JsonResult ReturnApiResponse<T>(ApiResponse<T> 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
|
};
|
}
|
|
}
|
}
|