带Swashbuckle.AspNetCore的不同Swagger文档的DocInclusionPredicate不同

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

我正在尝试生成多个swagger.json文档,并使用Customize the Action Selection Process确定对哪个swagger文档执行哪个操作。

对于不同的草签文档是否可能具有不同的DocInclusionPredicate?

例如,我有

services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "My API - V1", Version = "v1" }); c.SwaggerDoc("v2", new Info { Title = "My API - V2", Version = "v2" }); })

如何为DocInclusionPredicate指定一个v1,为DocInclusionPredicate文档指定另一个v2

swagger swagger-ui swashbuckle
1个回答
0
投票
c.DocInclusionPredicate((docName, apiDesc) =>
{
    if (docName == "v1")
    { /* actions for v1 */ }
    else if (docName == "v2")
    { /* actions for v2 */ }
});

如果谓词属于特定版本,则返回true,如果应在正确的if语句中过滤谓词,则返回false

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