技术分析

jsfx
数据可视化技术分析

集成Swagger接口文档分组配置.net core

技术分析10675年前 (2019-10-31)大数据

(一)回顾:

上一篇为大家介绍了在.NET Core中如何集成Swagger的介绍,想想集成操作其实非常简单便捷,实质就三个步骤:

(1)在项目中执行nuget命令,拉取Swagger包到项目:Install-package Swashbuckle.AspNetCore

(2)在ConfigureServices方法中新增如下代码

复制代码
#region Swagger
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new Info
        {
            Version = "v1.1.0",
            Title = "Swagger WebAPI",
            Description = "XXX项目API文档",
            TermsOfService = "None",
            Contact = new Swashbuckle.AspNetCore.Swagger.Contact
            {
                Name = "XXX项目",
                Email = "273145719@qq.com"
            ,
                Url = "https://www.cnblogs.com/NBIDataVis/"
            }
        });        // 为 Swagger JSON and UI设置xml文档注释路径
        var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);        var xmlPath = Path.Combine(basePath, "CoreWebAPI.xml");        //如果需要显示控制器注释只需将第二个参数设置为true
        c.IncludeXmlComments(xmlPath, true);
    });#endregion
复制代码

(3)在Configure方法中新增如下代码

复制代码
#region Swagger
    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
      c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiDocument V1");
    });#endregion
复制代码

(二)问题:

通常一个项目中有很多的功能模块,每个功能模块又可能对应很多的接口,如果所有的接口都在一个列表显示,显然是比较混乱的,不便于调用方阅读和查找。

当然Swagger为我们已经考虑到了这一点,它能支持分组显示,具体怎么做呢,请看下面的配置:

(三)Swagger分组文档配置:

(1)在ConfigureServices方法中新增如下代码

复制代码
#region Swagger
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new Info
        {
            Version = "v1.1.0",
            Title = "Swagger WebAPI",
            Description = "XXX项目API文档",
            TermsOfService = "None",
            Contact = new Swashbuckle.AspNetCore.Swagger.Contact
            {
                Name = "XXX项目",
                Email = "273145719@qq.com"
            ,
                Url = "https://www.cnblogs.com/NBIDataVis/"
            }
        });
        
        c.SwaggerDoc("User", new Info { Title = "用户模块", Version = "User" });   //分组显示
        c.SwaggerDoc("Project", new Info { Title = "项目模块", Version = "Project" });   //分组显示

        var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);        var xmlPath = Path.Combine(basePath, "CoreWebAPI.xml");
        c.IncludeXmlComments(xmlPath, true);
    
    });#endregion
复制代码

(2)在Configure方法中新增如下代码

复制代码
#region Swagger
    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1");
        c.SwaggerEndpoint("/swagger/User/swagger.json", "用户模块");  //分组显示
        c.SwaggerEndpoint("/swagger/Project/swagger.json", "项目模块");  //分组显示    });#endregion
复制代码

(3)在Controller类上指定分组名:


 

(4)看看运行效果:


扫描二维码推送至手机访问。

版权声明:本文由策意data发布,如需转载请注明出处。

转载请注明出处http://dsj.ceyicm.cn/reed/33.html

分享给朋友:

相关文章

将.NET Core编写的数据可视化项目打包成Docker镜像,实现容器化部署

将.NET Core编写的数据可视化项目打包成Docker镜像,实现容器化部署

第一步 环境准备,安装docker环境:1234567891011通过命令安装docker:sudo apt-get install -y docker.io 启动Docker服务...

将本地构建好的docker镜像发布到dockerhub

将本地构建好的docker镜像发布到dockerhub

各位读者你们好,上一篇文章介绍了如何将.NET Core项目构建成一个docker镜像,那么今天接下来我们介绍如何将本地docker项目镜像发布到dockerhub上,好了废话不多说,直接进入正题:(...

为什么不再使用D3.js、Echarts做数据可视化

为什么不再使用D3.js、Echarts做数据可视化

D3是什么全称是(Data-Driven Documents),一个被数据驱动的文档简单点,是一个JavaScript函数库,使用它主要用来做数据可视化。D3 是一个开源项目,作者是纽约时报的工程师。...

利用org.mybatis.generator生成实体类

利用org.mybatis.generator生成实体类

springboot+maven+mybatis+mysql 利用org.mybatis.generator生成实体类1.添加pom依赖: 2.编写generatorConfig....

SpringBoot+SparkSQL操作JSON字符串

SpringBoot+SparkSQL操作JSON字符串

在SpringBoot中通过maven来做包管理构建,有几个地方需要注意一下的,需要解决包之间的冲突,否则运行时会报错:(1)sparkSQL中需要先排除两个包: 1  ...

从dockerhub拉取NBI可视化产品镜像

从dockerhub拉取NBI可视化产品镜像

前两篇文章介绍了将docker镜像打包,镜像发布,那么今天为大家介绍完一个闭环操作,如何从dockerhua拉取镜像,运行镜像,下面将演示从ubuntu和centos系统上拉取和运行镜像操作:操作流程...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
每一次合作都多一位朋友

体验账号:administrator 密码:administrator

  • 7X12小时
    7X12小时

    专家1V1服务

  • 业务保障
    业务保障

    扎实数据根基

  • 合作伙伴
    合作伙伴

    NBIDataVis

  • 强大交付
    强大交付

    实现客户价值