Core WebAPI配置Swagger
1、配置Swagger:
Swagger是一套接口文档的规范,通过这套规范,你只需要按照它的规范去定义接口以及接口相关的信息。再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,生成多种语言的客户端和服务端代码,以及在线接口调试页面等等。
- nuget管理安装程序包:Swashbuckle.AspNetCore,或者Nuget控制台命令安装:Install-Package SwashBuckle.AspNetCore -Version 5.0.0-rc4
- 注册服务:
- 在Startup中ConfigureServices里注册Swagger,之前已经提到过(https://www.cnblogs.com/zousc/p/12420998.html)
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()'
注意:
- 对于 Linux 或非 Windows 操作系统,文件名和路径区分大小写。 例如,“SwaggerDoc.xml”文件在 Windows 上有效,但在 CentOS 上无效。
- 获取应用程序路径,建议采用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的更多相关文章
- .net core webapi 配置swagger调试界面
一.创建一个.net core webapi的项目: 二.在nuget程序包管理器控制台输入 Install-Package Swashbuckle -version 6.0.0-beta902 ...
- ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了
引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...
- ASP.NET Core WebApi使用Swagger生成api
引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...
- ASP.NET Core WebApi使用Swagger生成api说明文档
1. Swagger是什么? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件 ...
- 【转】ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了
原文链接:https://www.cnblogs.com/yilezhu/p/9241261.html 引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必 ...
- net core WebApi 使用Swagger
Asp.net core WebApi 使用Swagger生成帮助页 最近我们团队一直进行.net core的转型,web开发向着前后端分离的技术架构演进,我们后台主要是采用了asp.net core ...
- Asp.net Core WebApi 使用Swagger做帮助文档,并且自定义Swagger的UI
WebApi写好之后,在线帮助文档以及能够在线调试的工具是专业化的表现,而Swagger毫无疑问是做Docs的最佳工具,自动生成每个Controller的接口说明,自动将参数解析成json,并且能够在 ...
- Asp.net core WebApi 使用Swagger生成帮助页
最近我们团队一直进行.net core的转型,web开发向着前后端分离的技术架构演进,我们后台主要是采用了asp.net core webapi来进行开发,开始每次调试以及与前端人员的沟通上都存在这效 ...
- Asp.net core WebApi 使用Swagger生成帮助页实例
最近我们团队一直进行.net core的转型,web开发向着前后端分离的技术架构演进,我们后台主要是采用了asp.net core webapi来进行开发,开始每次调试以及与前端人员的沟通上都存在这效 ...
- Asp.net WebApi 配置 Swagger UI
首先安装Swashbuckle.Core 然后添加swagger配置文件. [assembly: PreApplicationStartMethod(typeof(SwaggerConfig), &q ...
随机推荐
- 【Kotlin】协程
1 前言 相较于 C# 中的协程(详见 → [Unity3D]协同程序),Kotlin 中协程更灵活,难度更大. 协程是一种并发设计模式,用于简化异步编程,它允许以顺序化的方式表达异步操作,避 ...
- 一个使用 WPF 开发的管理系统
前言 最近发现有不少小伙伴在学习 WPF,今天大姚给大家分享一个使用 WPF 开发的管理系统,该项目包含了用户登录.人员管理.角色授权.插件管理.职位管理.主页功能(邮件.皮肤.设置)等功能,对于一个 ...
- ArkTs布局入门01——线性布局(Row/Column)
1.概述 布局指用特定的组件或者属性来管理用户页面所放置UI组件的大小和位置.组件按照布局的要求依次排列,构成应用的页面. 在声明式UI中,所有的页面都是由自定义组件构成,开发者可以根据自己的需求,选 ...
- GooseFS 统一命名空间 | 加速存储业务访问
01 前言 GooseFS是 腾讯云存储团队推出的分布式缓存方案,主要针对需要缓存加速的数据湖业务场景,提供基于对象存储COS服务的近计算端数据加速层. 统一命名空间是GooseFS提供的透明命名 ...
- js 进制转换:十六进制转十进制、十进制转十六进制、十六进制转ASCII码、
因为近期做小程序,蓝牙连接硬件,需要根据module bus通信协议解析数据,用到了很多标题的算法转换,借此总结一下. 十六进制 转 十进制 function hex2dec(hex) { var l ...
- 关于 K8s 的一些基础概念整理-补充【k8s系列之五】
〇.前言 本文继续整理下 K8s 的一些基础概念,作为前一篇概念汇总的补充. 前一篇博文链接:https://www.cnblogs.com/hnzhengfy/p/k8s_concept.html. ...
- mapstruct坑:Internal error in the mapping processor: java.lang.NullPointerException at org.mapstruct.
错误描述 项目中如果使用了mapstruct框架,在使用Idea新版本后,启动会报错! Internal error in the mapping processor: java.lang.NullP ...
- maven常见命令之 -pl -am -amd
昨天maven的deploy任务需要只选择单个模块并且把它依赖的模块一起打包,第一时间便想到了-pl参数,然后就开始处理,但是因为之前只看了一下命令的介绍,竟然花了近半小时才完全跑通,故记录此文. 假 ...
- 使用P6Spy监控你的Spring boot数据库操作
引言 最近换了号称最快的HikariDataSource,由于没有了SQL监控,加之于Mybaits默认输出日志之拙计.遂用此物,与之相仿还有log4jdbc,比较活跃度后选择了P6Spy. 版本 P ...
- Zstd-数据压缩组件
Zstandard 简称Zstd,是一款快速实时的开源数据压缩程序,由Facebook开发,源码是用C语言编写的.相比业内其他压缩算法(如Gzip.Snappy.Zlib)它的特点是:当需要时,它可以 ...