首页 > 其他分享 >api返回统一格式Dto

api返回统一格式Dto

时间:2023-06-21 22:56:49浏览次数:42  
标签:Dto pageSize int dataCount api msg 格式 data public

using Cloudcubic.Common;
namespace CloudCubic.Model.DTO.Base
{
    /// <summary>
    /// 2023-04-23 新增
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class ApiResult<T> : ApiResultBase
    {

        /// <summary>
        /// 返回数据
        /// </summary>
        public T data { get; set; }

       // public List<T> rows { get; set; }

        /// <summary>
        /// 返回数据 成功
        /// </summary>
        /// <param name="data">数据</param>
        /// <param name="state">状态   200成功,500失败</param>
        /// <param name="success">默认true</param>
        /// <param name="msg">消息</param>
        /// <returns></returns>
        public static ApiResult<T> SuccessApiResult(T data = default, int state = 200, bool success = true, string msg = ApiMsgEnum.OPRATIONSUCCESS)
        {
            return new ApiResult<T>()
            {
                msg = msg,
                status = state,
                success = success,
                data = data
            };
        }
        /// <summary>
        /// 返回数据 失败
        /// </summary>
        /// <param name="data">数据</param>
        /// <param name="state">状态   200成功,500失败</param>
        /// <param name="success">默认false</param>
        /// <param name="msg">消息</param>
        /// <returns></returns>
        public static ApiResult<T> FailApiResult(T data = default, int state = 500, bool success = false, string msg = ApiMsgEnum.OPRATIONFAIL)
        {
            return new ApiResult<T>()
            {
                msg = msg,
                status = state,
                success = success,
                data = data
            };
        }
    }
}
using Cloudcubic.Common;
using System.Collections.Generic;

namespace CloudCubic.Model
{
    /// <summary>
    /// 2023-03-23 新增
    /// </summary>
    public class ApiResultBase {
        /// <summary>
        /// 状态码
        /// </summary>
        public int status { get; set; }
        /// <summary>
        /// 是否成功
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 返回的消息
        /// </summary>
        public string msg { get; set; }

    }
    public class ApiResultPage<T>: ApiResultBase
    {
        /// <summary>
        /// 当前页标
        /// </summary>
        public int pageIndex { get; set; }
        /// <summary>
        /// 每页大小
        /// </summary>
        public int pageSize { set; get; }
        /// <summary>
        /// 数据总数
        /// </summary>
        public int dataCount { get; set; }

        /// <summary>
        /// 总页数
        /// </summary>
        public int pageCount { get; set; }
        /// <summary>
        /// 返回数据
        /// </summary>
        public T data { get; set; }

        /// <summary>
        /// 分页接口格式 返回成功 
        /// </summary>
        /// <param name="data"></param>
        /// <param name="pageIndex">第几页</param>
        /// <param name="pageSize">一页大小</param>
        /// <param name="dataCount">总数量</param>
        /// <param name="state">状态码</param>
        /// <param name="success">true,false</param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static ApiResultPage<T> SuccessApiResultPage(T data=default, int dataCount=0, int pageIndex = 1, int pageSize = 10, int state = 200, bool success = true, string msg = ApiMsgEnum.QUERYSUCCESS)
        {
            pageIndex = pageIndex <= 0 ? 1 : pageIndex;
            pageSize = pageSize <= 0 ? 1 : pageSize;
            return new ApiResultPage<T>()
            {
                msg = msg,
                status = state,
                success = success,
                pageIndex = pageIndex,
                dataCount = dataCount,
                pageSize = pageSize,
                pageCount = dataCount % pageSize > 0 ? (dataCount / pageSize) + 1 : dataCount / pageSize,
                data = data
            };
        }
        /// <summary>
        /// 分页接口格式 返回失败 
        /// </summary>
        /// <param name="data"></param>
        /// <param name="pageIndex">第几页</param>
        /// <param name="pageSize">一页大小</param>
        /// <param name="dataCount">总数据数量</param>
        /// <param name="state">状态码</param>
        /// <param name="success">true,false</param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static ApiResultPage<T> FailApiResultPage(T data= default, int dataCount=0, int pageIndex = 1, int pageSize = 10, int state = 500, bool success = false, string msg = ApiMsgEnum.OPRATIONFAIL)
        {
            pageIndex = pageIndex <= 0 ? 1 : pageIndex;
            pageSize = pageSize <= 0 ? 1 : pageSize;
            return new ApiResultPage<T>()
            {
                msg = msg,
                status = state,
                success = success,
                pageIndex = pageIndex,
                pageSize = pageSize,
                dataCount = dataCount,
                pageCount = dataCount % pageSize > 0 ? (dataCount / pageSize) + 1 : dataCount / pageSize,
                data = data
            };
        }
    }
}

 

标签:Dto,pageSize,int,dataCount,api,msg,格式,data,public
From: https://www.cnblogs.com/Fengge518/p/17430163.html

相关文章

  • SQL Server 数据格式修改时,没有保存按钮的情况解决
    如果你使用的是SQLServer2008,当你修改数据结构后,保存时会报下图情况:Savingchangesisnotpermitted.Thechangesyouhavemaderequirethefollowingtablestobedroppedandre-created.Youhaveeithermadechangestoatablethatcan'tbere-createdorenabled......
  • 靳宇灵 | 金蝶云星空 工序计划 表单ID是:SFC_OperationPlanning的WEBAPI接口 指定工序
    金蝶云星空工序计划表单ID是:SFC_OperationPlanning的WEBAPI接口指定工序开工的接口传参json传怎么写?以下是基于金蝶云星空工序计划系统中SFC_OperationPlanning的WEBAPI接口的指定工序开工的接口传参json示例:Copy{"FormId":"SFC_OperationPlanning","FieldKeys":"Pr......
  • 【淘宝API接口系列】获取sku详细信息Java获取源代码演示
    ​ 淘宝商品SKU详细信息API接口是指通过开放平台提供的API接口,可以根据商品ID和SKUID等参数,获取淘宝商品SKU的详细信息,包括SKU的价格、库存、销售属性、skuUrl、sku图片等。其作用是方便开发者通过调用API接口,获取淘宝商品SKU的详细信息,进而实现商品价格比较、商品数据采集、......
  • API在什么用途中能达到什么效果
    API是应用程序接口(ApplicationProgrammingInterface)的缩写,它是一组用于实现不同软件之间相互通信的规范和工具。API的主要作用是提供一种标准的方式来实现应用程序之间的交互和数据通信,可以使开发者更加方便地开发出更加强大的应用程序。    测试地址:点击免费测试以下......
  • API接口技术的使用可以增加软件开发和运行的灵活性,降低软件运行和维护的成本
    随着科技的发展和互联网的普及,越来越多的公司和企业把业务拓展到互联网上,这就需要用到API接口技术。API(ApplicationProgrammingInterface,应用程序接口)是指不同软件系统之间进行数据交流和信息共享的一种方式和规范,它通过标准化的接口实现不同系统之间的数据传递和协作,是构建应用......
  • net Core基础API 命名空间定义
    ●System.Collections:定义了常用的集合类型。●System.Console:提供API完成基本的控制台操作。●System.Data:提供用于访问数据库的API,相当于原来的ADO.NET。●System.Diagnostics:提供基本的诊断、调试和追踪的API。●System.DirectoryServices:提供基于AD(ActiveDirectory)管理......
  • kube-apiserver认证
    kube-apiserver认证kube-apiserver支持多种认证机制,并支持同时开启多个认证功能。当客户端发起一个请求,经过认证阶段时,只要有一个认证器通过,则认证器成功,失败返回401一共九种认证机制BasicAuth认证BasicAuth是一种简单的HTTP协议上的认证机制,客户端将用户,密码写入请......
  • 那些优秀的网站 --- 免费在线格式转换
    www.aconvert.com支持文档,多媒体,网页的转换文档PDFDOCDOCXXLSXLSXPPTPPTXHTMLTXTCSVRTFODTODSODP电子书AZW3EPUBFB2OEBLITLRFMOBIPDBPMLZ......
  • 硬盘 mbr 格式化为 gpt
    命令行mbr格式化为gptwin7及之前的系统一般使用legacy+mbr方式启动win10/win11比较主流的时efi+gpt方式启动,比较老旧的电脑(比如2015年之前的电脑)升级wiin10/11一般还是用的legacy+mbr方式在转换之前,备份或移动MBR磁盘上的数据。转换为gpt后会格式化该硬盘所有数......
  • Springboot api的controller如何接口一个List<Object>参数
    1.正常情况下,你可能会这样写:@PostMapping("/delete")@ApiOperation("Deletelistdata")@ResponseStatus(HttpStatus.OK)@ResponseBodypublicDBUpdateStatusdeleteTestCaseDatas(List<TestCaseInfo>testCaseInfoList){......