swagger
song

nuget搜索安装 Swashbuckle.AspNetCore

1
2
3
4
5
6
7
8
9
## Dependencies
Microsoft.Extensions.ApiDescription.Server (>= 6.0.5)
Swashbuckle.AspNetCore.Swagger (>= 6.8.1)
Swashbuckle.AspNetCore.SwaggerGen (>= 6.8.1)
Swashbuckle.AspNetCore.SwaggerUI (>= 6.8.1)

## PM
NuGet\Install-Package Swashbuckle.AspNetCore -Version 6.8.1

Swashbuckle 有三个主要组件:

  1. Swashbuckle.AspNetCore.Swagger:一个Swagger对象模型和中间件,用于将SwaggerDocument对象公开为 JSON 端点。
  2. Swashbuckle.AspNetCore.SwaggerGen:一个Swagger生成器,可swaggerDocument直接从路由,控制器和模型构建对象。它通常与Swagger端点中间件结合使用,以自动显示swagger JsoN 。
  3. Swashbuckle.AspNetcore.SwaggerUI : Swagger UI工具的嵌入式版本。它解释了Swagger J50N ,以便为描述 web API功能构建丰富,可定制的体验。它包括用于公共方法的内置测试工具。

netcore配置swagger

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
services.AddMvc();

services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
});


...

app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("v1/swagger.json", "My API V1");
});

为控制器中每个方法添加注释,启用XML注释为未记录的公共类型和成员提供调试信息

项目–> 属性– >生成—>输出–>生成xml文档

1
2
3
4
5
6
7
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
</PropertyGroup>

由 Hexo 驱动 & 主题 Keep