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

时间:2019-06-20 03:55:26

标签: swagger swagger-ui swashbuckle

我正在尝试生成多个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

1 个答案:

答案 0 :(得分:0)

c.DocInclusionPredicate((docName, apiDesc) =>
{
    if (docName == "v1")
    { /* actions for v1 */ }
    else if (docName == "v2")
    { /* actions for v2 */ }
});

,如果谓词属于特定版本,则返回true,如果谓词属于正确的版本,则返回false