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. 使用VMware Workstation 14 Player或者Oracle VM VirtualBox安装Fedora-Workstation-netinst-x86_64-27-1.6操作系统的相关记录

    无论是在使用哪个(VMware或者Oracle VM)都遇到了一个问题:即使在安装完Fedoras操作系统之后,进行Reboot还是会进入之前一摸一样的安装界面,相当于再次安装.然而最最有效的解决办法 ...

  2. Error running second Activity: The activity must be exported or contain an intent-filter

    编译能成功,但是在虚拟机或真机上面调试时,弹出这个错误 后来查了一下,要在 AndroidManifest.xml 中,把每个窗口都加上一句 android:exported="true&q ...

  3. chm提取

    Python读写CHM文件 7z 可以将chm解包为HTML

  4. mysql 创建用户、设置权限

    MySQL创建用户与授权 一. 创建用户 命令: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明: username:你将创建的用 ...

  5. svo_udp通信02——一组数据发送

    注意事项: 1.client 和server 定义的发送和接收数据(结构)要相同.如: client.c: struct position_packet {float pos_x[5];float p ...

  6. UCloud数据盘扩容步骤

    1. 扩容目的 由于服务器数据盘存储空间不足导致系统无法正常的.为了彻底解决此问题,我们需要对服务器数据盘进行扩容. 2. 扩容步骤 2.1. 关机(如下图) ​ 2.2. 创建快照(如下图) ​ 2 ...

  7. Shell脚本中的逻辑判断、文件目录属性判断、if的特殊用法、case判断

    1.Shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi格式2:if 条件; then 语句; else 语句; fi格式3:if …; then … ;elif …; then ...

  8. mac下 部分服务启动,结束, 查看状态的命令

    以sshd服务为例 启动sshd服务:sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist 停止sshd服务:sudo laun ...

  9. 13. Forensics (取证 4个)

    Maltego是一个取证和数据挖掘应用程序. 它能够查询各种公共数据源,并以图形方式描绘人员,公司,网站和文档等实体之间的关系. Maltego也是一个开源智能,但不是开源软件. Helix The ...

  10. Linux内核笔记:内存管理

    逻辑地址由16位segment selector和offset组成 根据segment selector到GDT或LDT中去查找segment descriptor 32位base,20位limit, ...