NetCore 配置Swagger的详细代码

目录
  • 1.添加Nuget
  • 2.添加静态类扩展方法
  • 3.StartUp注册服务,添加中间件

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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • ASP.NetCore使用Swagger实战

    踩坑不背锅,.NET Core 试深浅 关于Swagger什么是swagger所带来的帮助 使用Swagger 关于Swagger 什么是swagger 使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下能发现和理解各种服务的功能. Swagger™ 的目标是为 REST APIs 定义一个标准的,与语言无关的接口.只需要按照它的规范去定义接口及接口相关的信息.再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,生成多种语言的客户端和服务端的代码

  • .NetCore使用Swagger+API多版本控制的流程分析

    目录 一.Swagger基本使用 二.Swagger结合版本控制 本文实例环境及版本.NetCore3.1.Swagger6.1 现在的开发大部分都是前后端分离的模式了,后端提供接口,前端调用接口.后端提供了接口,需要对接口进行测试,之前都是使用浏览器开发者工具,或者写单元测试,再或者直接使用Postman,但是现在这些都已经out了.后端提供了接口,如何跟前端配合说明接口的性质,参数等这也是一个问题.有没有一种工具可以根据后端的接口自动生成接口文档,说明接口的性质,参数等信息,又能提供接口调用

  • NetCore 配置Swagger的详细代码

    目录 1.添加Nuget 2.添加静态类扩展方法 3.StartUp注册服务,添加中间件 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"]必须与[opt

  • Spring boot配置 swagger的示例代码

    为什么使用Swagger 在实际开发中我们作为后端总是给前端或者其他系统提供接口,每次写完代码之后不可避免的都需要去写接口文档,首先写接口文档是一件繁琐的事,其次由接口到接口文档需要对字段.甚至是排版等.再加上如果我们是为多个系统提供接口时可能还需要按照不同系统的要求去书写文档,那么有没有一种方式让我们在开发阶段就给前端提供好接口文档,甚至我们可以把生成好的接口文档暴露出去供其他系统调用,那么这样我只需要一份代码即可. Spring boot配置 swagger 1.导入maven依赖 <!--

  • Spring Boot配置Swagger的实现代码

    由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端. Swagger Inspector:测试API和生成OpenAPI的开发工具.Swagger Inspector的建立是为了解决开发者的三个主要目标. 执行简单的API测试 生成OpenAPI文档 探索新的

  • SpringBoot集成swagger的实例代码

    Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.本文简单介绍了在项目中集成swagger的方法和一些常见问题.如果想深入分析项目源码,了解更多内容,见参考资料. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步.Swagger 让部署管理和使用功能强大的API从未如此简单. 对于

  • c# webapi 配置swagger的方法

    如何配置swagger? 在使用项目中,我们希望去查看我们的webapi的测试,那么我们是需要去有一个集成的测试的. 步骤 1.在nutget管理包中下载swagger包. 2.这样会在App_start 文件夹中出现swaggerconfig.cs 和swaggerNet.cs, 这个时候就需要配置的时候了. 3.取消下面的注释(swaggerconfig.cs) c.IncludeXmlComments(string.Format("{0}/bin/ThinkingSpace.XML&quo

  • 使用Spring Boot 2.x构建Web服务的详细代码

    目录 架构: 库: 运行应用的步骤 关于项目配置 Web服务声明 示例 通用错误处理 示例 Spring Data(JPA)配置 Entity类 Repository接口 在application.properties中的JPA数据库配置 数据库配置 application.properties application-dev.properties application-pro.properties 数据库密码加密 SampleWebservice.java JWT身份验证配置 创建令牌的过程

  • 全网最全SpringBoot集成swagger的详细教程

    目录 一. 接口文档概述 二. SpringBoot集成swagger2 2.1 引入依赖 2.2 引入配置 2.3 给Controller 添加注解 2.4 [404]问题解决 2.5 替换UI 三. SpringBoot集成swagger3 四. swaggerUI 拦截器和跨域冲突处理 五. 写在最后 一. 接口文档概述 swagger是当下比较流行的实时接口文文档生成工具.接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发

  • mysql 5.7.14 下载安装、配置与使用详细教程

     下载 a.我这里用的是 ZIP Archive版的,win8 64位的机器都支持 这个所以我建议都用这个.还有这个比较简单而且还很干净.地址见图.拖到最下面,看清楚了64bit ZIP Archive,点击Download. b.点开之后会进入另一个页面,但却没有下载,这个时候不用怕,看不懂也没关系,他的意思就是让你登录(login),或者注册个账号(sign up)就行了,登录或者注册成功后就开始下载了.(记住密码要字母和数字组合,并且要大小写混合) c.当然如果你有的话也可以直接登录. 成

  • iOS 配置.gitignore文件详细介绍

    iOS 配置.gitignore文件详细介绍 为什么要配置.gitigore 在我们使用git的过程当中,不是任何文件都需要commit到本地或者远程仓库的,比如一些三方库文件. 那么作为一个git新手,很多人不知道如何配置.gitignore文件,本文只是提供一个便捷的例子.你可以直接使用本文提供的代码编辑到你的.gitigore文件中. 简便配置 直接复制下面的内容到你的.gitignore文件即可.注意,这个配置是给iOS开发者使用的. # Xcode .DS_Store */build/

随机推荐