很多时候(如Ajax)我们需要从Web应用中得到标准的反馈以便进行数据分析。

为此,我将各类返回标准化封装,客户端将统一得到 JSON:[{"status":200,"message":"success","data":[Object]}],有利于建立统一的数据处理模型。

    public class ReturnStd
{
public class ReturnJson
{
public string Status { get; set; }
public string Message { get; set; }
public object Data { get; set; }
}
public static ReturnJson ComJson(string responseMessage, string responseCode, object rtnData = null)
{
ReturnJson returnJson = new ReturnJson()
{
Status = responseCode,
Message = responseMessage,
Data = rtnData ?? string.Empty
};
return returnJson;
} public static ReturnJson Success(object rtnData = null)
{
ReturnJson returnJson = new ReturnJson()
{
Status = "200",
Message = string.Empty,
Data = rtnData?? string.Empty
};
return returnJson;
} public static ReturnJson Error(string responseMessage, string responseCode = "400", object rtnData = null)
{
ReturnJson returnJson = new ReturnJson()
{
Status = responseCode,
Message = responseMessage ?? string.Empty,
Data = rtnData ?? string.Empty
};
return returnJson;
} public static ReturnJson ModelError(ModelStateDictionary modelState, string responseCode = "400", object rtnData = null)
{
string messages = string.Join("; ", modelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage)); ReturnJson returnJson = new ReturnJson()
{
Status = responseCode,
Message = messages,
Data = rtnData ?? string.Empty
};
return returnJson;
} public static ReturnJson NotAuthorize(string responseMessage, string responseCode = "90", object rtnData = null)
{
ReturnJson returnJson = new ReturnJson()
{
Status = responseCode,
Message = responseMessage ?? string.Empty,
Data = rtnData ?? string.Empty
};
return returnJson;
} }

  如何使用?

        [HttpGet]
public JsonResult GetUsers(long lastUpdateTicks=0)
{
List<SYS_User_OnCloud> rtnData = _context.SYS_User_OnClouds.Where(u => ((long?)u.LastUpdateTicks?? 0) >= lastUpdateTicks).ToList();
return Json(ReturnStd.Success(rtnData));
}

  

最新文章

  1. (DFS、全排列)POJ-3187 Backward Digit Sums
  2. [Android NDK/JNI-1A]-开发环境搭建
  3. white-space:nowrap 的妙用
  4. amoeba
  5. javascript内置对象速查(二)
  6. TopCoder Div2
  7. 【记录】【3】设置bing为chrome的默认搜索引擎
  8. centos7编译安装zabbix(附带编译安装lnmp)
  9. shell 父子传值
  10. 快速切题 poj 2993 Emag eht htiw Em Pleh 模拟 难度:0
  11. PHP学习笔记(一) ---- PHP简介以及基本语法
  12. [转]应用服务器ApacheSocketUnixthread
  13. Java基础——注解
  14. 2016.4.3NOI上较难的动规题目(仔细分析样例)--王老师讲课整理
  15. bootstrapPaginator设置同步会翻2页的小坑
  16. BroadCastRecieve
  17. 【MySQL笔记】数据定义语言DDL
  18. 使用apache POI解析Excel文件
  19. 7-----Scrapy框架中Download Middleware用法
  20. BZOJ 3856: Monster【杂题】

热门文章

  1. Ansible之Playbooks的when语句
  2. Deep Learning 学习笔记(5):Regularization 规则化
  3. Sublime Text 套件介紹:Pretty JSON
  4. 利用Sphinx编写文档
  5. Pacemaker实现双机热备
  6. Theos简介
  7. maven学习总结-eclipse开发
  8. 557. Reverse Words in a String III 翻转句子中的每一个单词
  9. 18-printf(*)的输出格式
  10. ROS源码解读(一)--局部路径规划