通用返回值封装

  在很多时候我们返回值使用json会更方便一点,下面我把我常用到的返回值封装代码贴出来。

 public class ApiJsonResult<T>
    {
        public T Data { get; set; }
        public ApiJsonError Error { get; set; }

        public int Total { get; set; }

        public ApiJsonResult(T data, ApiJsonError error = null)
        {
            this.Data = data;
            this.Error = error;
        }

        public ApiJsonResult(T data, ApiJsonError error, int total)
        {
            this.Data = data;
            this.Error = error;
            this.Total = total;
        }
    }
 public class ApiJsonError
    {
        /// <summary>
        /// 错误编号
        /// </summary>
        public int Code { get; set; }
        /// <summary>
        /// 错误内容
        /// </summary>
        public string Message { get; set; }

        public ApiJsonError()
        {
        }

        public ApiJsonError(int errorCode, string errorMessage)
        {
            this.Code = errorCode;
            this.Message = errorMessage;
        }
    }

这个封装虽然简单,但是很灵活,所以我用的比较多,创建一个ApiJsonResult对象后就可以用json.net序列化一下,我把json序列化的代码也封装了一下

  public class JsonNet
    {
        /// <summary>
        /// 将实体对象转换成json字符串
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public static string SerializeToEntity(object item)
        {
            return JsonConvert.SerializeObject(item);
        }
        /// <summary>
        /// 将json字符串转换成实体对象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public static T DeserializeToString<T>(string jsonString)
        {
            return JsonConvert.DeserializeObject<T>(jsonString);
        }
    }

这个用户一个请求发过来,进行相应的业务逻辑处理后创建一个ApiJsonResult对象,然后在用json.net进行序列化一下,这样就行了

通用返回值封装

时间: 2024-10-28 19:18:19

通用返回值封装的相关文章

PHP通用返回值设置

遇到一个不错的php代码.记录一下. 在写php代码时,经常会遇到需要返回值的情况,可以统一设置一下返回值的格式.下面就是一个不错的例子. 配置类Return.conf.php 1 <?php 2 define("return_val", "return array('code' => 0, 'msg' => '', 'data' => '');"); 3 4 define("RETURN_SUCCESS", 0); 5

C#中返回值封装

在平时开发过程中常常需要取一个方法的返回值,BOSS写了一个返回值类,做个练习以备不时之需: 返回值支持泛型和非泛型 先贴上代码: 非泛型返回值类: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Runtime.Serialization; 6 7 8 namespace WindowsFormsApplication31 9

一个相对通用的JSON响应结构,其中包含两部分:元数据与返回值

定义一个相对通用的JSON响应结构,其中包含两部分:元数据与返回值,其中,元数据表示操作是否成功与返回值消息等,返回值对应服务端方法所返回的数据. public class Response { private static final String OK = "ok"; private static final String ERROR = "error"; private Meta meta; private Object data; public Respon

C#秘密武器之多线程——参数与返回值

概述 线程函数要么没有参数,要么只能有一个object参数,而且均没有返回值,这样就大大降低了程序的灵活性,其实我们想要的是能像普通方法一样正常使用参数和返回值!能不能实现这个需求呢?下面就介绍两种方法 一.添加外壳方法 原理:把参数传递变成了对变量的调用 方法:定义一个专门的线程类. 1.需要向线程传递的参数和返回值作为类的公共属性: 2.线程函数的真正方法也放在该类里边 3.加壳的线程函数也放在里边(真正调用的是2的方法) public class MyThread { public dou

用ajaxFileUpLoad上传文件不能正确取得返回值的问题

刚开始没有觉得ajax请求的dataType参数的重要性,用了ajaxFileUpLoad插件后,如果页面代码如下: fileElementId : ['imageToUpload'], url : 'url', dataType : 'json', 返回类型为json数据,那么后台处理上传后,必须将返回值封装成json格式的数据返回给前台页面. 后台封装如下: return "{\"result\":" + "\"OK\"}"

JSF页面中使用js函数回调后台bean方法并获取返回值的方法

由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的,很可能会误导使用者. 相对来说,看国内的那些仅仅是翻译过来的文章或书籍不如直接看国外的官方文档或资料来的实在,在我讲述jsf页面中如何使用js调用后台bean方法之前,先给大家说几个国外的资料.在primefaces官方网站上,你可以搜索到几乎所有你需要的东西,primefaces官网为:http:

循环递归+返回值(TreeView示例)

示例:获取TreeView的所有Node,保存到List<TreeNode>,封装到通用工具类: 方法一:使用static方法.属性---调用前清空static类型的List 1 public static List<TreeNode> allNodes = null; 2 public static void GetTreeViewAllNodes(TreeNodeCollection Nodes) 3 { 4 foreach (TreeNode node in Nodes) 5

GetLastError()函数返回值及含义

GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置.函数并无必要设置上一次错误信息,所以即使一次GetLastError调用返回的是零值,也不能担保函数已成功执行.只有在函数调用返回一个错误结果时,这个函数指出的错误结果才是有效的.通常,只有在函数返回一个错误结果,而且已知函数会设置GetLastError变量的前提下,才应访问GetLastError:这时能保证获得有效的结果.(来源:百度百科) 在进行windows网络编程时,可以

SpringMVC Controller 返回值的可选类型

spring mvc 支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void. ModelAndView @RequestMapping("/hello") public ModelAndView helloWorld() { String message = "Hello World, Spring 3.x!"; return new ModelAndView("hello"