.NET 7/8 如何使用 Minimap API 提供组的描述/摘要?

问题描述 投票:0回答:1

我添加了一组最小的 API,如下所示:

var myapi = app.MapGroup("myapi").WithTags("My API").WithOpenApi();

// and then
myapi .MapGet($"/", GetAllStuff).WithName("GetAllStuff");
myapi .MapGet($"/{id}", GetSomeStuff).WithName("GetSomeStuff");

这为我提供了 Swagger UI,但我目前无法获得这两个 API 的描述,换句话说,无法获得该组的摘要。有什么想法吗?

c# .net asp.net-core openapi minimal-apis
1个回答
0
投票

我没有看到提供此数据的内置方式(如端点的

WithDescription
),但您可以使用 文档过滤器:

解决方法
public class TagDescriptionsDocumentFilter : IDocumentFilter
{
    public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
    {
        swaggerDoc.Tags = new List<OpenApiTag>
        {
            new OpenApiTag { Name = "My API", Description = "My API does something" }
        };
    }
}

还有

builder.Services.AddSwaggerGen(opts => opts.DocumentFilter<TagDescriptionsDocumentFilter>());

显然标签名称必须匹配。

© www.soinside.com 2019 - 2024. All rights reserved.