zoukankan      html  css  js  c++  java
  • 接口 Swagger 显示返回模型的注释

    mark:环境看之前文章

    目的:web api controller 调用 asp.net mvc controller,让swagger里面的返回模型支持注释

    关键:对返回消息类的封装,返回数据为泛型,swagger就能显示model的注释了



    JsonMsg

    /// <summary>
    /// 返回消息
    /// </summary>
    public class JsonMsg<T> where T : class
    {
        /// <summary>
        /// 状态码
        /// </summary>
        public int code { get; set; }
    
        /// <summary>
        /// 消息
        /// </summary>
        public string msg { get; set; }
    
        /// <summary>
        /// 内容
        /// </summary>
        public T obj { get; set; }
    
        /// <summary>
        /// 图标
        /// </summary>
        public int icon { get; set; }
    
    
        public static JsonMsg<T> OK(T obj, string msg = "成功") 
        {
            return new JsonMsg<T>() { code = 1, msg = msg, obj = obj, icon = 1 };
        }
    
        public static JsonMsg<T> Error(T obj, string msg = "失败")
        {
            return new JsonMsg<T>() { code = 0, msg = msg, obj = obj, icon = 1 };
        }
    }
    

    OrderDto

    public class OrderDto
    {
        public string Name { get; set; }
    }
    

    HomeController

    public JsonResult GetOrderInfo()
    {
        var order = new OrderDto { Name = "203022200" };
        return Json(order);
    }
    

    HomeAPIController

    [AllowAnonymous]
    public JsonMsg<OrderDto> testResultDataDesc3()
    {
        HomeController controller = GetController<HomeController>();
        var d = (OrderDto)controller.GetOrderInfo().Data;
        return JsonMsg<OrderDto>.OK(d);
    }
    

    效果

  • 相关阅读:
    计网第一章——基本概念
    计网第二章——应用层
    命令行测试邮件发送工具mailsend-go
    CentOS-7-x86_64-DVD-2009 rpm包列表(centos7.9)
    CentOS-7-x86_64-Everything-2009 rpm包列表(CentOS7.9)
    Centos发行版ISO镜像中rpm包列表
    nginx使用记录
    centos resolv.conf
    python cookbook
    ansible中变量和主机名
  • 原文地址:https://www.cnblogs.com/guxingy/p/12908869.html
Copyright © 2011-2022 走看看