龙空技术网

C# .NET 6 校园图书管理系统:番外篇之统一接口返回数据格式

纸鹤程序员 759

前言:

而今各位老铁们对“net图书销售网站源码”大体比较注意,朋友们都想要了解一些“net图书销售网站源码”的相关知识。那么小编也在网上网罗了一些对于“net图书销售网站源码””的相关文章,希望各位老铁们能喜欢,小伙伴们一起来了解一下吧!

1.前言

大家好我是番外篇,是前几章的一个补充。

2.统一接口返回数据格式

为啥要统一接口返回数据格式?为啥?(⊙o⊙)…,

图片来源于网络,如有侵权请联系删除

俗话说,无规矩不成方圆。

我们对接口的返回统一格式,有利于前后端的交互。更直白点,不管前后端是否分离,统一了返回数据格式,降低了前后端互相展示多年武术的几率。

图片来源于网络,如有侵权请联系删除

敲黑板!!!

好了,言归正传,请看下方代码示例:

namespace FlyingHat.Model.Models.Global{    public interface IReturnModel    {        /// <summary>        /// 返回数据状态码:0=正常,1=错误        /// </summary>        int Code { get; }        /// <summary>        /// 消息        /// </summary>        string Msg { get; }    }    public interface IReturnModel<out T> : IReturnModel    {        /// <summary>        /// 数据        /// </summary>        T? Data { get; }    }    public class ReturnModel<T> : IReturnModel<T>    {        /// <summary>        /// 返回数据状态码:0=正常,1=错误        /// </summary>        public int Code { get; private set; }        /// <summary>        /// 消息        /// </summary>        public string Msg { get; private set; } = string.Empty;        /// <summary>        /// 数据        /// </summary>        public T? Data { get; private set; }        public ReturnModel<T> Success(T data, string message)        {            Code = 0;            Msg = message;            Data = data;            return this;        }        public ReturnModel<T> Fail(int code, T data, string message)        {            Code = code;            Msg = message;            Data = data;            return this;        }    }    public static class ReturnModel    {        public static IReturnModel Page<T>(List<T> list)        {            return new ReturnPageModel<T>(0, "获取成功", list, list.Count);        }        public static IReturnModel Page<T>(int count, List<T> list)        {            return new ReturnPageModel<T>(0, "获取成功", list, count);        }        public static IReturnModel Success(string message = "操作成功")        {            return Success<string>(message, "");        }        public static IReturnModel Success<T>(string message, T data)        {            return new ReturnModel<T>().Success(data, message);        }        public static IReturnModel Fail(string message = "操作失败")        {            return Fail<string>(message, "");        }        public static IReturnModel Fail<T>(string message, T data)        {            return Fail(1, message, data);        }        public static IReturnModel Fail(int code, string message)        {            return Fail<string>(code, message, "");        }        public static IReturnModel Fail<T>(int code, string message, T data)        {            return new ReturnModel<T>().Fail(code, data, message);        }        public static IReturnModel Result(bool success, string message = "", bool prefix = true)        {            if (string.IsNullOrWhiteSpace(message))            {                return success ? Success() : Fail();            }            if (prefix)            {                return prefix ? Success($"{message}成功!") : Fail($"{message}失败!");            }            return success ? Success(message) : Fail(message);        }    }    public class ReturnPageModel<T> : IReturnModel    {        public ReturnPageModel(int code, string msg, List<T> list, int count)        {            this.Code = code;            this.Msg = msg;            this.Data = list;            this.Count = count;        }        /// <summary>        /// 返回数据状态码:0=正常,1=错误        /// </summary>        public int Code { get; private set; } = 0;        /// <summary>        /// 消息        /// </summary>        public string Msg { get; private set; } = string.Empty;        /// <summary>        /// 数据        /// </summary>        public List<T> Data { get; private set; } = new List<T> { };        public int Count { get; private set; } = 0;    }}

代码有点多,不过不要紧,各位同学可以快速划过,然后私信源码奉上。其实这没什么好说的,就是在接口返回数据时统一调用该方法。嗯,那么就结束了本章吧。

图片来源于网络,如有侵权请联系删除

3.结语

本章非常简单,展示了统一数据返回格式。各位同学在阅读实践过程中有看不懂或有其他想法的可以在评论区留言或者私信。教程有帮助的话请各位同学帮忙评论点赞关注三连,感谢大家!

----------------------------------------------------

私信: 校园图书管理系统 可以获取Gitee的链接

标签: #net图书销售网站源码