1、配置Swagger:

Swagger是一套接口文档的规范,通过这套规范,你只需要按照它的规范去定义接口以及接口相关的信息。再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,生成多种语言的客户端和服务端代码,以及在线接口调试页面等等。

  • nuget管理安装程序包:Swashbuckle.AspNetCore,或者Nuget控制台命令安装:Install-Package SwashBuckle.AspNetCore -Version 5.0.0-rc4

  

services.AddSwaggerGen(s =>
{
s.SwaggerDoc("swagger_v1", new Microsoft.OpenApi.Models.OpenApiInfo()
{
Title = "CoreAPI接口", //标题
Version = "v1" //版本号
});
});

  

  • 引用Swagger中间件

app.UseSwagger();
app.UseSwaggerUI(s =>
{
s.SwaggerEndpoint("/swagger/swagger_V1/swagger.json", "MyAPIDoc_v1");
//s.RoutePrefix = string.Empty;
});

 如果要在应用根目录使用SwaggerUI,请将RoutePrefix属性设置为空字符串

  • Swagger高级应用使用

    • wagger为API文档增加说明信息,在AddSwaggerGen方法进行添加作者、许可证和说明等信息……
services.AddSwaggerGen(s =>
{
s.SwaggerDoc("swagger_v1", new Microsoft.OpenApi.Models.OpenApiInfo()
{
Title = "CoreAPI接口", //标题
Version = "v1",//版本号
Description="这里是文档说明",
TermsOfService=new Uri("https://www.cnblogs.com/zousc/"),
//作者信息
Contact=new Microsoft.OpenApi.Models.OpenApiContact()
{
Name="姓名",
Email="邮箱",
Url = new Uri("https://www.cnblogs.com/zousc/")
},
//许可证
License=new Microsoft.OpenApi.Models.OpenApiLicense()
{
Name = "假装是许可证",
Url = new Uri("https://www.cnblogs.com/zousc/")
}
});
});

到了这Swagger就能显示了,但是注释还不会显示,接下来启用XML注释 可使用以下方法启用 XML 注释:

  • 右键单击“解决方案资源管理器”中的项目,然后选择“属性”
  • 查看“生成”选项卡的“输出”部分下的“XML 文档文件”框

启用 XML 注释后会为未记录的公共类型和成员提供调试信息。如果出现很多警告信息  例如,以下消息指示违反警告代码 1591:

warning CS1591: Missing XML comment for publicly visible type or member 'TodoController.GetAll()'

注意: ​

  1. 对于 Linux 或非 Windows 操作系统,文件名和路径区分大小写。 例如,“SwaggerDoc.xml”文件在 Windows 上有效,但在 CentOS 上无效。 ​
  2. 获取应用程序路径,建议采用Path.GetDirectoryName(typeof(Program).Assembly.Location)这种方式或者·AppContext.BaseDirectory这样来获取
services.AddSwaggerGen(s =>
{
s.SwaggerDoc("swagger_v1", new Microsoft.OpenApi.Models.OpenApiInfo()
{
Title = "CoreAPI接口", //标题
Version = "v1",//版本号
Description="这里是文档说明",
TermsOfService=new Uri("这里是服务条款"),
//作者信息
Contact=new Microsoft.OpenApi.Models.OpenApiContact()
{
Name="姓名",
Email="邮箱",
Url = new Uri("https://www.cnblogs.com/zousc/")
},
//许可证
License=new Microsoft.OpenApi.Models.OpenApiLicense()
{
Name = "假装是许可证",
Url = new Uri("https://www.cnblogs.com/zousc/")
}
});
// 为 Swagger JSON and UI设置xml文档注释路径
//获取应用程序所在目录(绝对,不受工作目录影响,建议采用此方法获取路径)
var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
var xmlPath = Path.Combine(basePath, "SwaggerDoc.xml");
s.IncludeXmlComments(xmlPath);
});
  • 访问Ip:端口/swagger/index.html

  到这就完成了Swagger的配置~~

Core WebAPI配置Swagger的更多相关文章

  1. .net core webapi 配置swagger调试界面

    一.创建一个.net core webapi的项目: 二.在nuget程序包管理器控制台输入  Install-Package Swashbuckle -version 6.0.0-beta902   ...

  2. ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

  3. ASP.NET Core WebApi使用Swagger生成api

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

  4. ASP.NET Core WebApi使用Swagger生成api说明文档

    1. Swagger是什么? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件 ...

  5. 【转】ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    原文链接:https://www.cnblogs.com/yilezhu/p/9241261.html 引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必 ...

  6. net core WebApi 使用Swagger

    Asp.net core WebApi 使用Swagger生成帮助页 最近我们团队一直进行.net core的转型,web开发向着前后端分离的技术架构演进,我们后台主要是采用了asp.net core ...

  7. Asp.net Core WebApi 使用Swagger做帮助文档,并且自定义Swagger的UI

    WebApi写好之后,在线帮助文档以及能够在线调试的工具是专业化的表现,而Swagger毫无疑问是做Docs的最佳工具,自动生成每个Controller的接口说明,自动将参数解析成json,并且能够在 ...

  8. Asp.net core WebApi 使用Swagger生成帮助页

    最近我们团队一直进行.net core的转型,web开发向着前后端分离的技术架构演进,我们后台主要是采用了asp.net core webapi来进行开发,开始每次调试以及与前端人员的沟通上都存在这效 ...

  9. Asp.net core WebApi 使用Swagger生成帮助页实例

    最近我们团队一直进行.net core的转型,web开发向着前后端分离的技术架构演进,我们后台主要是采用了asp.net core webapi来进行开发,开始每次调试以及与前端人员的沟通上都存在这效 ...

  10. Asp.net WebApi 配置 Swagger UI

    首先安装Swashbuckle.Core 然后添加swagger配置文件. [assembly: PreApplicationStartMethod(typeof(SwaggerConfig), &q ...

随机推荐

  1. 浏览器实时查看日志系统-log.io

    log.io 是一个实时日志监控工具,采用 node.js + socket.io 开发,使用浏览器访问,每秒可以处理超过5000条日志变动消息.有一点要指出来的是 log.io 只监视日志变动并不存 ...

  2. .net core想到哪写道哪之hello world

    今天,我们来创建一个helo world,讲一讲.Net 6最新的顶级语句的问题. 在.Net 6中最大的变化应该就是多了个顶级语句. 这玩意是个啥呢,它让C#看起来像个脚本语言了,一个Hello W ...

  3. 4-CSRF漏洞渗透与防御

    1.什么是CSRF漏洞 Cross-Site Request Forgery 跨站请求伪造 从一个第三方的网站,利用其他网站生效的cookie,直接请求服务器的某一个接口,导致攻击发生! 2.CSRF ...

  4. 一款.NET开源的Windows资源管理器标签页工具

    前言 今天大姚给大家分享一款基于.NET开发的可以让你在Windows资源管理器中使用Tab多标签功能的小工具:QTTabBar. 工具介绍 QTTabBar是一款基于.NET开发的可以让你在Wind ...

  5. 在Windows下为CodeBlocks20.3安装、配置wxWidget3.2.6

    0.前言 CodeBlocks是使用C++编写程序的一个很好的开发环境,最大的好处是它是开源的.免费的,而不仅仅是因为它具有跨平台的能力.还有一个很重要的原因是在CodeBlocks中可以使用wxWi ...

  6. 树莓派设置CPU运行的核心数为3,保留核心4号

    具体步骤:1.打开终端,输入 sudo nano /boot/cmdline.txt2.在第一行最后空一格加上isolcpus=33.保存

  7. Redis应用—9.简单应用汇总

    大纲 1.基于Redis实现的简单缓存机制(String数据结构) 2.实现一个最简单的分布式锁(String数据结构) 3.博客网站的文章发布与查看(String数据结构) 4.博客字数统计与文章预 ...

  8. Alpine中安装telnet

    lpine Linux是一个基于musl libc和busybox的安全轻量的Linux发行版. 在Alpine中安装telnet,并不是apk add telnettelnet被移入子包busybo ...

  9. 【Mybatis-Plus进阶学习(八)】SQL注入器

    使用SQL注入器就可以自定义例如selectById的默认方法. 实现步骤Step1:创建定义方法的类:Step2:创建注入器:Step3:在Mapper中加入自定义方法. 自定义注入器的简单使用 第 ...

  10. Composer: Command Not Found

    I am using CentOS and had same problem. I changed /usr/local/bin/composer to /usr/bin/composer and i ...