iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >NetCore 配置Swagger的详细代码
  • 569
分享到

NetCore 配置Swagger的详细代码

2024-04-02 19:04:59 569人浏览 薄情痞子
摘要

目录1.添加Nuget2.添加静态类扩展方法3.StartUp注册服务,添加中间件1.添加Nuget install-package Swashbuckle.Aspnetcore -

1.添加Nuget

install-package Swashbuckle.Aspnetcore -project XXX -version 6.4.0

2.添加静态类扩展方法

2.1.生成项目xml:选中项目 / 右键 / 属性 / 生成 / 输出 / 选中xml文档文件

2.2.system_v1:必须唯一不重复,且【options.swaggerDoc("system_v1"】必须与【options.SwaggerEndpoint("/swagger/system_v1/】一致,不然会异常【Failed to load api definition; Fetch error: response status is 404 /swagger/system_v1/swagger.JSON

/// <summary>
    /// Swagger 静态类
    /// </summary>
    public static class SwaggerExtend
    {
        /// <summary>
        /// 添加服务: swagger
        /// </summary>
        /// <param name="services"></param>
        /// <returns></returns>
        public static void AddCustSwagger(this IServiceCollection services)
        {
            var version = "V1.0";
            var apiName = "XXX系统";
            services.AddSwaggerGen(options =>
            {
                options.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());

                options.SwaggerDoc("system_v1", new OpenApiInfo
                {
                    Version = version,
                    Title = $"{apiName} API",
                    Description = $"{apiName} {version} 接口服务"
                });

                //  获取应用程序所在目录
                var basePath = Path.GetDirectoryName(typeof(SwaggerExtend).Assembly.Location);
                var xmlPath = Path.Combine(basePath, "ProjectName.xml");
                //  swagger界面默认只显示 方法&字段 注释,不显示 控制器注释
                //  第二个参数为true, 则是controller的注释
                //options.IncludeXmlComments(xmlPath);
                options.IncludeXmlComments(xmlPath, true);
            });
        }

        /// <summary>
        /// 添加中间件: swagger
        /// </summary>
        /// <param name="app"></param>
        public static void UseCustSwagger(this IApplicationBuilder app)
        {
            app.UseSwagger();
            app.UseSwaggerUI(options =>
            {
                options.SwaggerEndpoint("/swagger/system_v1/swagger.json", "系统API");
                //  默认路径为:/swagger/index.html
                //  路由前缀 - 设置为空,可直接跳转到swagger页面:/index.html
                //  api测试可设置为空,部署时容易与前端路由冲突
                options.RoutePrefix = string.Empty;
            });
        }
    }

3.StartUp注册服务,添加中间件

public void ConfigureServices(IServiceCollection services)
        {
            services.AddCustSwagger();
        }

        public void Configure(IApplicationBuilder app, IWEBHostEnvironment env)
        {
            app.UseCustSwagger();
        }

到此这篇关于NetCore 配置Swagger的的文章就介绍到这了,更多相关NetCore 配置Swagger内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: NetCore 配置Swagger的详细代码

本文链接: https://www.lsjlt.com/news/168160.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • NetCore 配置Swagger的详细代码
    目录1.添加Nuget2.添加静态类扩展方法3.StartUp注册服务,添加中间件1.添加Nuget install-package Swashbuckle.AspNetCore -...
    99+
    2024-04-02
  • Spring boot配置 swagger的示例代码
    为什么使用Swagger     在实际开发中我们作为后端总是给前端或者其他系统提供接口,每次写完代码之后不可避免的都需要去写接口文档,首先写接口文档是...
    99+
    2024-04-02
  • springmvc整合ssm配置的详细代码
    导入依赖 <!-- 常用的依赖导入--> <dependencies> <!--Junit--> ...
    99+
    2024-04-02
  • SpringBoot集成Kafka配置工具类的详细代码
    目录1、单播模式,只有一个消费者组2、广播模式,多个消费者组spring-kafka 是基于 java版的 kafka client与spring的集成,提供了 KafkaTempl...
    99+
    2024-04-02
  • .NetCore基础之读取配置文件详解
    目录涉及知识点安装插件读取Json文件1. 准备数据2. 创建IConfiguration接口实例3. 通过索引器进行读取4. 通过GetValue<T>()方法进行读取...
    99+
    2024-04-02
  • Nginx配置解决NetCore的跨域问题
    使用Nginx配置解决NetCore的跨域 废话不多说,直接上Nginx配置 server { listen 80; server_name 你的Id或域名;...
    99+
    2024-04-02
  • Mybatis的详细配置方法
    这篇文章主要介绍“Mybatis的详细配置方法”,在日常操作中,相信很多人在Mybatis的详细配置方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mybatis的详细配置方法”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • phpmyadmin配置的详细介绍
    本篇内容主要讲解“phpmyadmin配置的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“phpmyadmin配置的详细介绍”吧!  phpmyadmi...
    99+
    2024-04-02
  • Java SpringBoot详解集成以及配置Swagger流程
    一、swagge简介 前后端分离: 后端︰后端控制层,服务层,数据访问层【后端团队】 前端:前端控制层,视图层【前端团队】 前后端通过API进行交互 前后端相对独立且松耦合 产生问题...
    99+
    2024-04-02
  • 配置bond4详细步骤
     简介 bond是多块物理网卡虚拟为一块网卡,使多块网卡看起来像一块网卡。linux系统下配置bond,通过网卡绑定可增加服务器可靠性,同时可增加网络带宽,提供稳定的网络服务。 环境信息 CentOS Linux release 7.9.2...
    99+
    2023-09-10
    linux 服务器 运维
  • VSCode2022配置Python3.9.6的详细教程
    Python 编译器1、自带的IDLE;2、PyCharm,3、Visual Studio Code Python 安装 第一步:下载Python解释器1、官网下载Pyth...
    99+
    2024-04-02
  • audit详细使用配置
    audit是什么 Linux audit通过分析系统上正在发生的细节信息,能够有效帮助您提高系统的安全。但是,它本身不提供额外的安全性保障----它不会保护你的系统免受代码故障或者任何类型的漏洞攻击。...
    99+
    2023-09-15
    服务器 linux 运维
  • multipath配置详细参考
    配置文件结构及位置multipath配置文件/etc/multipath.conf由节(section),子节(sub-section),属性(atribute)和属性值(value)等组成,其结构具体如下所示:<section>...
    99+
    2023-06-05
  • springboot neo4j的配置代码
    neo4j是一个图形数据库,有一个做关系图谱的需求里面需要使用到图形数据库。 w3c教程:https://www.w3cschool.cn/neo4j/ 中文版的数据库可以通过ima...
    99+
    2024-04-02
  • SpringBoot配置actuator的代码
    Actuator简介 监控分类 Actuator 提供Rest接口,展示监控信息。接口分为三大类:应用配置类:获取应用程序中加载的应用配置、环境变量、自动化配置报告等与SpringB...
    99+
    2024-04-02
  • VisualStudio2019配置OpenCV的详细过程
    目录配置0x01 准备0x02 配置系统环境0x03 复制文件0x04 配置VisualStudio2019测试配置 0x01 准备...
    99+
    2024-04-02
  • Nginx 配置 HTTPS的详细过程
    目录1. nginx 的 ssl 模块安装2. ssl 证书部署3. nginx.conf 配置4. 重启 nginx配置站点使用 https,并且将 http 重定向至 https...
    99+
    2024-04-02
  • struts2配置静态资源代码详解
    Struts2框架有两个核心配置文件:struts.xml和Struts2默认属性文件default.properties(在struts2-core-2.3.20.jar中)default.properties可以通过自己在classpa...
    99+
    2023-05-31
    struts2 配置静态资源 st
  • nginx常用配置conf的示例代码详解
    nginx常用配置conf 代理静态文件 # 静态文件 server { # 压缩问价你配置 gzip on; gzip_min_length 1k; ...
    99+
    2024-04-02
  • MYSQL安装配置详细
    1.去官网下载 点击DOWNLOADS  下拉页面点击红标内容  然后选择mysql community server  点击之后下拉页面找到下图选择版本下载即可 下载成后的解压路径一点要记住后面我们还需要用   2. 配置并初始化...
    99+
    2023-09-03
    java mysql 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作