.NetCore3.1 WebApi中Swagger配置

官方教程: https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-3.1&tabs=visual-studio#add-and-configure-swagger-middleware

参考:https://www.cnblogs.com/yilezhu/p/9241261.html#!comments  作者:依乐祝

参考:https://www.cnblogs.com/LYF1997/p/11473967.html  作者: 风雨流逝

使用环境vs2019,架构.netCore3.1创建  WebApi项目

 

 

 

 

 

 创建完成后再NuGet程序包中搜索Swashbuckle.AspNetCore 包进行引用

 

 

 将 Swagger 生成器添加到 Startup.ConfigureServices 方法中的服务集合中:

复制代码
//配置Swagger
//注册Swagger生成器,定义一个Swagger 文档
services.AddSwaggerGen(c =>
{
    // 添加文档信息
    c.SwaggerDoc("v1", new OpenApiInfo
    {
         Title = "TestWebApi",
         Version = "v1",
         Description = "测试API"
    });
});
复制代码

在Configure方法里加入下面的代码

 //启用中间件服务生成Swagger
app.UseSwagger();
//启用中间件服务生成SwaggerUI,指定Swagger JSON终结点
app.UseSwaggerUI(c =>
{
     c.SwaggerEndpoint("/swagger/v1/swagger.json", "TestWebApi");
     c.RoutePrefix = string.Empty;//设置根节点访问(路由前缀设置为空)
});

 运行结果如下:

 

 

 上面只显示了接口,但是没有显示接口的注释信息,此事双击“项目”,进入.csproj文件,在  PropertyGroup 节点下添加以下代码,

 

 

 

<GenerateDocumentationFile>true</GenerateDocumentationFile>
<NoWarn>$(NoWarn);1591</NoWarn>

第一行代码表示“启用 XML 注释”。启用 XML 注释,为未记录的公共类型和成员提供调试信息。 警告消息指示未记录的类型和成员。 例如,以下消息指示违反警告代码 1591:

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

第二行代码表示“取消警告”

也可采用第二种方法,直接“项目”右键->属性

 

 

 在输出下勾选“XML文档文件”,并在取消警告中添加“1591”,进行启动。

配置完后,在Startup中 为Swagger设置XML路径,读取XML信息

#region 读取xml信息
 // 使用反射获取xml文件,并构造出文件的路径
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
// 启用xml注释,该方法第二个参数启用控制器的注释,默认为false.
c.IncludeXmlComments(xmlPath, true);
#endregion

 

 配置完后运行项目,注释信息就出来了

 

posted @   吃辣椒的小毛驴  阅读(245)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示