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. nginx配置https转发http

    生成ssl证书: 1.首先要生成服务器端的私钥,运行时会提示输入密码,此密码用于加密key文件: openssl genrsa -des3 -out server.key 1024 2.去除key文件 ...

  2. 微信h5,背景音乐自动播放

    移动端默认是禁止背景音乐自动播放的,很多需求都需要在页面加载完成的情况下同时出现背景音乐. 既然是微信h5,那么wx.config肯定不陌生,废话不多,直接上代码: html: <audio s ...

  3. 关于memset赋值问题

    学习借鉴自:https://blog.csdn.net/yexiaohhjk/article/details/52717934 memset是C语言头文件<string.h>中的一个函数, ...

  4. Matlab 将RGB 图像转换成YCrCb图像

    >> im = imread('trees.jpg');>> imshow(im)>> ycrcb_trees = rgb2ycbcr(im);>> f ...

  5. hdu 1698 (延迟标记+区间修改+区间求和)

    In the game of DotA, Pudge's meat hook is actually the most horrible thing for most of the heroes. T ...

  6. SQL Sever 2012版本数据库的完全卸载

    首先再使用的过程中,遇到当前版本和项目数据库服务器的SQL Sever 版本不一致,导致无法正常的数据导入. 所以需要我们将本地的SQL Sever 数据库,进行一个完整的卸载,进而去安装和项目一致的 ...

  7. Java实现打印日历的功能

    编写一个程序,显示给定年月的日历.程序提示用户输入年份和月份,然后显示该月的整个日历. 代码: import java.util.Scanner; public class PrintCalendar ...

  8. uwp应用在debug模式下运行正常,编译为release版本的时候抛出异常

    原因是在代码中使用了dynamic关键字,导致release时.net native优化了代码造成元数据丢失 所以在代码中要尽量不用dynamic.

  9. supervisor支持python虚拟环境venv

    在项目中使用supervisor时,如何在虚拟环境下启动一直存在些小问题. 比如我要写 Cesi程序的监听,我是手动安装的执行之前 要先加载环境source venv/bin/activate 所以写 ...

  10. linux下目录简介——/sys

    Linux下/sys目录介绍    1. 概述 ramdisk 文件系统基于磁盘模拟技术,实际文件系统是ex2 ex3等.sysfs是一种基于ram文件系统和proc一样.Sysfs文件系统是一个类似 ...