当前位置: 首页 > 知识库问答 >
问题:

使用Swashbuckle Aspnetcore向swagger.json添加`host`、`basePath`和`schemes`

云浩然
2023-03-14

下面是一个理想的swagger.json--注意hostbasePathSchemes值,如果我在应用程序中遵循文档代码,这些值将丢失

{
  "swagger": "2.0",
  "info": {
    "version": "v1",
    "title": "Demo API Title"
  },
  "host": "some-url-that-is-hosted-on-azure.azurewebsites.net",
  "basePath": "/api",
  "schemes": ["https"],
  "paths": {
    "/Account/Test": {
      "post": {
        "tags": [
          "Admin"
        ],
        "summary": "Account test method - POST",
        "operationId": "AccountTest",
        "consumes": [],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "boolean"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "NumberSearchResult": {
      "type": "object",
      "properties": {
        "number": {
          "type": "string"
        },
        "location": {
          "type": "string"
        }
      }
    }
  },
  "securityDefinitions": {
    "Bearer": {
      "name": "Authorization",
      "in": "header",
      "type": "apiKey",
      "description": "Authorization. Example: \"Authorization: Bearer {token}\""
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ]
}

共有1个答案

周飞
2023-03-14

最新版本的Swashbuckle for.netcore有一些变化

如果你想在Swashbuckle中更改请求URL,也许你是在API网关后面,或者有自定义域附加到你的WebApp上。这样做。

  1. 创建文档筛选器
public class BasePathDocumentFilter : IDocumentFilter
    {
        public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
        {
            swaggerDoc.Servers = new List<OpenApiServer>() { new OpenApiServer() { Url = "hxxt://yoursite" } };
        }
    }
 类似资料:
  • 问题陈述: 出于“奇怪”的原因,我们对API的所有操作都有不同的“主机”。我们有这样的API: 操作1:获取https://host1:port1/api/resources 如果我们按原样使用Swagger/OpenAPI,就意味着每个操作创建一个Swagger/OpenAPI规范,从而使每个操作都有一个Swagger ui页面,然后需要重新创建一个索引页面来列出API的所有操作:-/这正是我们

  • 我有工作代码将图像插入到DOCX模板中(使用docxtpl提供的Jinja模板格式),但是当图像插入到文档正文时,图像无法在标题中呈现。文档中的插入点显示消息“read error”。

  • 问题内容: 在使用AJAX调用的Web应用程序中,我需要提交一个请求,但要在URL的末尾添加一个参数, 寻找一种JavaScript函数,该函数解析URL并查看每个参数,然后添加新参数或更新值(如果已经存在)。 问题答案: 您需要调整的基本实现如下所示: 这大约是正则表达式或基于搜索的解决方案的两倍,但是这完全取决于查询字符串的长度和任何匹配项的索引 我为完成测试而基准的慢速正则表达式方法(慢了大

  • 抱歉,我对SQL是全新的。我试图在SQL中添加一个列,用于计算as shipping date和todays date之间的天数差。 当我想查看天数时,以下操作非常有效 但是,当我尝试用下面的代码创建一个新列时,我遇到了错误 #1064-您的SQL语法有错误;查看与您的MariaDB服务器版本相对应的手册,以了解在第1行“as cast(DATEDIFF(now(),shipping_date))

  • 如何使用Gradle将配置文件或任何其他资源添加到我的jar中? 我的项目结构: Com/Perseus/..----Java包(类文件) config/*.xml--Spring配置文件

  • 问题内容: 我有许多固定大小的图像(例如500 * 500)。我想编写一个python脚本,将其调整为固定大小(例如800 * 800),但将原始图像保持在中心,并用固定颜色(例如黑色)填充多余的区域。 我正在使用PIL。我现在可以使用该功能调整图像的大小,但这会改变纵横比。有什么办法吗? 问题答案: 您可以创建具有所需新尺寸的新图像,然后将旧图像粘贴到中间,然后保存。如果需要,可以覆盖原始图像(