public class Messages
{
/// <summary>
/// 返回包含是否成功以及消息字符结果
/// </summary>
/// <param name="success">是否成功(True-成功,False-失败)</param>
/// <param name="msg">消息字符</param>
public Messages(bool success, string msg)
{
this.Success = success;
this.Msg = msg;
}
/// <summary>
/// 是否成功,成功返回true,否则false
/// </summary>
public bool Success { get; set; }
/// <summary>
/// 消息
/// </summary>
public string Msg { get; set; }
}
 public class MessagesCode : Messages
{
/// <summary>
/// 返回包含是否成功、消息字符以及编码结果
/// </summary>
/// <param name="success">是否成功(True-成功,False-失败)</param>
/// <param name="msg">消息字符</param>
/// <param name="code">编码代号(如:101-登录无效)</param>
public MessagesCode(bool success, string msg, int code) : base(success, msg)
{
this.Code = code;
}
/// <summary>
/// 编码
/// </summary>
public int Code { get; set; }
}
 public class MessagesData<T> : Messages
{
/// <summary>
/// 返回包括是否成功、消息字符以及对象数据结果
/// </summary>
/// <param name="success">是否成功(True-成功,False-失败)</param>
/// <param name="msg">消息字符</param>
public MessagesData(bool success, string msg) : base(success, msg)
{
this.Data = default(T);
}
/// <summary>
/// 数据对象(如LIST、Model)
/// </summary>
public T Data { get; set; }
}
    public class MessagesDataCode<T> : MessagesCode
{
/// <summary>
/// 返回包括是否成功、消息字符、对象数据以及编码结果
/// </summary>
/// <param name="success"></param>
/// <param name="msg"></param>
/// <param name="code"></param>
public MessagesDataCode(bool success, string msg, int code) : base(success, msg, code)
{
this.Data = default(T);
}
/// <summary>
///数据
/// </summary>
public T Data { get; set; }
}

在用MVC做网站开发时,用Ajax请求控制器时,返回的json对象中有两个参数即可,一个是Success,另一个是 Msg.

给App写接口时,用WebApi时,返回时视情况而定了,比如发送验证码时,需要有Code,Msg(发觉Success没有太大作用,加上也没事,这里不需要返回数据),在返回列表和详情时,就需要返回Code,Data,Msg,Success,

Success代表当前请求的目的是否成功。

在做MVC和WebApi写返回数据时,可以这样定义的更多相关文章

  1. springboot 接口返回数据时 net.sf.json.JSONNull["empty"]) 异常

    @ResetController返回数据时出现异常 Could not write JSON: Object is null; nested exception is com.fasterxml.ja ...

  2. .net asp mvc 如何从后端返回数据对象

    今天在做项目时,有一个需求:获取从控制器返回的数组对象,方法如下 public ActionResult GetAllFiles() { string dir = Server.MapPath(&qu ...

  3. c# 【MVC】WebApi设置返回Json

    public static HttpResponseMessage toJson(Object obj) { String str; if (obj is String || obj is Char) ...

  4. ajax返回数据时,如何将javascript值(通常为对象或数组)转为json字符串

    ajax获取值时,返回的数据为空时 alert后出现 [ ]; 用if语句判断时不为空,此时如何判断返回的数据是否为空.可将返回的值转化为json字符串. JSON.stringify() 方法用于将 ...

  5. json返回数据时提示字符串超出长度

    JavaScriptSerializer json = new JavaScriptSerializer(); json.MaxJsonLength = Int32.MaxValue; return ...

  6. struts通过Ajax返回数据时,例如对象类型,没有执行Ajax的回调函数

    <result type="json"  name="success">                 <param name=" ...

  7. 浅谈WebService返回数据效率对比

    原文链接 http://www.dotnetgeek.cn/xuexiwebservice1.html 一.什么是WebService: 简单通俗来说,就是企业之间.网站之间通过Internet来访问 ...

  8. Netty中如何写大型数据

    因为网络饱和的可能性,如何在异步框架中高效地写大块的数据是一个特殊的问题.由于写操作是非阻塞的,所以即使没有写出所有的数据,写操作也会在完成时返回并通知ChannelFuture.当这种情况发生时,如 ...

  9. 【Android】Intent的使用-返回数据给上一个活动

    第一个Activity  A启动另外一个Activity B,B返回数据给A ============================================================= ...

随机推荐

  1. git教程:管理修改

    转载:管理修改 现在,假定你已经完全掌握了暂存区的概念.下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件. 你会问,什么是修改?比如你新增了一行 ...

  2. scrapy获取页面信息

    本例子用命令行调试的方式,演示如何获取页面的特定信息: 0) 示例页面 1) 使用scrapy shell获取目标页面: scrapy shell http://bj.lianjia.com/ersh ...

  3. Java中对Array数组的常用操作

    目录: 声明数组: 初始化数组: 查看数组长度: 遍历数组: int数组转成string数组: 从array中创建arraylist: 数组中是否包含某一个值: 将数组转成set集合: 将数组转成li ...

  4. postman导入csv文件,批量运行

    1.设置csv文件,第一行必须标明变量名 2.postman参数化设置 3.批量 run即可

  5. conts、var 、let的区别

    1.const定义的变量不可以直接修改,通过 this.a = 'kkk' 进行修改, 而且必须初始化. 2.var定义的变量可以修改,如果不初始化会输出undefined 3.let是块级作用域,函 ...

  6. Centos中安装gitlab

    安装依赖: sudo yum install curl openssh-server openssh-clients postfix cronie sudo service postfix start ...

  7. 20164322韩玉婷 -----Exp1 PC平台逆向破解

    Exp1 PC平台逆向破解 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件.该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串.该程序同时包含另一 ...

  8. ubuntu16.04中如何启用floodlight的其中一种方式

    1. 提前一台安装好mininet,另一台安装好floodlight 2. 在mininet里面的custom文件夹下自定义文件ProjectGroup10_Topology.py from mini ...

  9. vc6.0问题

    1.VC6不自动提示函数的参数 是工程中的.ncb文件有问题,把这个文件删除就正常了. 2.设置代码提示快捷键 Tools-->定制-->弹出框,按照下图设置  3.报错 (1)ident ...

  10. Mybatis:resultMap的使用总结

    resultMap是Mybatis最强大的元素,它可以将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中. resultMap包含的元素: <!--column不做限制,可以为任意 ...