我得到了一个带有一些控制器的Asp.NET web api项目,用swagger-Net启用了swagger doc。我一直在寻找如何启用供应商扩展或自定义swagger doc字段,我可以为每个API级别设置这些字段。我成功地在swagger doc级别/swaggerDoc.info级别设置了供应商扩展。但我不能进一步在API级别设置它们。任何帮助都将不胜感激!
我试着添加供应商扩展到swaggerDoc.info,效果很好。但我不知道如何添加供应商扩展到API级别(PathItem),可以为单个API设置或编辑。基本上我想在API级别启用供应商扩展x-dev的设置。
[HttpGet]
[x-dev("Myself")]
public async Task<User> GetAllUsers(){
.....................
}
1条答案
按热度按时间svmlkihl1#
好吧,我找到了一个办法。
假设我想为每个操作添加一个供应商扩展“Squad,”
首先创建一个属性,当我们想把一个特殊的小队分配给一个行动时,我们会用到这个属性。
然后在SwaggerConfig.cs中添加操作筛选器,该筛选器将我们的属性作为供应商扩展添加到操作中。
最后在swagger.config中,应用操作过滤器。
现在您可以为任何openApi操作添加squad属性,如下所示: