schangxiang@126.com
3 天以前 570a85557b7013df6bf82c4c324793d96a1b0dfb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
            };
        }
 
    }
}