我在.NET6中有一个小项目,它包含了最小的API,就像那个一样
app.MapGet("/clients",
async (IClientRepository repo) =>
{
var results = await repo.GetClientsAsync();
return mapper.Map<IEnumerable<ClientModel>>(results);
});
在SwaggerUI
中,我可以使用这个API,但我找不到一种方法来为其添加描述(尽管在项目设置中,我检查了创建API XML文档)。
如何添加XML注解?
5条答案
按热度按时间yrefmtwq1#
目前对最小API的Open API文档的支持非常少,并且据我所知不允许添加描述/摘要。计划为.NET 7添加描述的功能。不久
Swashbuckle
也应该considerEndpointMetadata
for annotations。issue相关
统一采购司
使用
Swashbuckle
nuget包和Swashbuckle.AspNetCore.Annotations
的最新更新,您可以为端点添加描述:更新2
对于.NET 7和最新的
Swashbuckle.AspNetCore
包,也可以使用WithDescription
方法:EndpointDescriptionAttribute
:iswrvxsc2#
Package
Swashbuckle.AspNetCore.Annotations
6.3
更多示例请访问https://github.com/domaindrivendev/Swashbuckle.AspNetCore#enrich-operation-metadata
uplii1fm3#
1.安装软件包
2.编写代码
结果编号
c86crjj04#
你可以使用this guide。我使用Swashbuckle就可以了。有一些扩展方法附带了最小的API。下面是它的外观:
gdrx4gfi5#
你可以使用扩展方法,我认为这是一种更清晰的方式来记录API端点。2这样你就可以为每个端点定义通用的响应方法。
为此,您需要安装以下软件包:
Swashbuckle.AspNetCore和Swashbuckle.AspNetCore.Annotations
以下是如何使用这些扩展方法的示例:
这里的
.AddMetaData<T>
表示成功的响应模型,这也将添加到此端点的响应文档。在本例中,它是List<Book>
。