导航

在做MVC和WebApi写返回数据时,可以这样定义

Posted on 2017-12-01 10:51  hlgba  阅读(520)  评论(0)    收藏  举报
    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; }
    }
View Code
 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; }
    }
View Code
 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; }
    }
View Code
    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; }
    }
View Code

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

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

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