asp.net-core - 使用 Swashbuckle 时将全局项添加到 swagger.json
问题描述
我正在使用 Swashbuckle 生成一个 swagger 文件,然后将其上传到 Google Endpoints。
Google Endpoints 需要这两个参数(host 和 x-google-backend)
"host": "XXXX-ax7nuhuyua-uc.a.run.app",
"x-google-backend": {
"address": "https://YYYY-dev-ax7nuhuyua-uc.a.run.app",
"protocol": "h2"
},
这些需要添加到与 swagger、info、paths 相同的级别
有人能告诉我如何扩展 Swashbuckle 生成的 swagger 文件以包含这些全局参数吗?
使用 ASPNET 核心
解决方案
在这种情况下,您可以直接在in 中添加Extensions
变量。Startup.cs
SwaggerDoc
services
.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo
{
// Any other properties
Extensions = new Dictionary<string, IOpenApiExtension>
{
{
"x-google-backend", new OpenApiObject
{
{"address", new OpenApiString("https://YYYY-dev-ax7nuhuyua-uc.a.run.app")},
{"protocol", new OpenApiString("h2")}
}
},
{
"host", new OpenApiString("XXXX-ax7nuhuyua-uc.a.run.app")
}
}
});
});
推荐阅读
- java - 如何设置 RatingBar 可点击但不可缩放?
- react-native - 开发服务器返回错误码:500
- executorservice - 在静态块中使用 ExecutorService 提交 Callable
- vba - 查找和替换时将字符串中的第二个字符大写?
- android - 我们如何从 java 类中向下拉菜单中添加更多项目
- jquery - 为什么数据表使用“.row().remove()”删除其中一行,但多行已被删除?
- python - Dockerfile scrapy 未知命令: crawl
- python - 如何计算3D中两点之间的距离?
- linux - 安排 cronjob 每周将文件复制到不同的位置
- php - 将缩略图图像保存到另一个文件夹 [CodeIgniter]