swagger - 具有 Swashbuckle.AspNetCore 的不同 swagger 文档的不同 DocInclusionPredicate
问题描述
我正在尝试生成多个 swagger.json 文档并使用自定义操作选择过程来确定哪个操作转到哪个 swagger 文档。
是否可以为不同的 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
?
解决方案
c.DocInclusionPredicate((docName, apiDesc) =>
{
if (docName == "v1")
{ /* actions for v1 */ }
else if (docName == "v2")
{ /* actions for v2 */ }
});
然后返回true
谓词是否属于特定版本或者false
是否应在正确的 if 语句中过滤掉
推荐阅读
- python - 使用带有烧瓶的 kafka-python 发送通知
- typescript - 类型属性上的 Delcare 索引 0
- php - 是否可以通过 [Web] Guard 使用 Laravel 资源?
- r - 修复了spineplot中的条形宽度
- javascript - 无法访问 Sugar 视图控制器中的字段
- javascript - 为什么我会收到 Javascript 请求的“CSRF 令牌丢失或不正确”错误
- git - 使用 aws cloud9 作为 VPS 而不是 IDE
- snakemake - 在暂存空间中运行整个 Snakemake 管道
- ios - 使用 URL Scheme 检测其他应用程序打开的应用程序
- node.js - 查看其他人何时键入