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

2024-03-03

我正在使用官方文档分步方法来配置 Swagger UI 并在我的 ASP.NET core API 应用程序中生成 Swagger JSON 文件。

如果我查看生成的 swagger.json 文件 - 它缺少三个重要属性host, basePath and schemes

请帮助我了解我可以添加哪一段代码,以便生成的 swagger.json 将具有以下提到的属性/值。

这是一个理想的 swagger.json - 注意host, basePath and schemes如果我遵循应用程序中的文档代码,则会缺少值

{
  "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": []
    }
  ]
}

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

如果您想更改 Swashbuckle 中的请求 URL,可能您位于 API 网关后面或您的 Web 应用程序附加了自定义域。做这个。

  1. 创建文档过滤器
public class BasePathDocumentFilter : IDocumentFilter
    {
        public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
        {
            swaggerDoc.Servers = new List<OpenApiServer>() { new OpenApiServer() { Url = "hxxt://yoursite" } };
        }
    }
  1. 在你的启动文件中。services.AddSwaggerGen()方法像这样添加文档过滤器c.DocumentFilter<BasePathDocumentFilter>();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Swashbuckle Aspnetcore 将 `host`、`basePath` 和 `schemes` 添加到 swagger.json 的相关文章

  • 在实体框架拦截器中向 DbScanExpression 添加内部联接

    我正在尝试使用实体框架 CommandTree 拦截器通过 DbContext 向每个查询添加过滤器 为了简单起见 我有两个表 一个称为 User 有两列 UserId 和 EmailAddress 另一个称为 TenantUser 有两列
  • 在 C# 中按元素相乘数组具有意想不到的性能

    我想找到按元素相乘两个数组的最佳方法 这是更广泛项目的一部分 其中性能而不是唯一的考虑因素 我今天开始用 C Linqpad 编写一些函数 因此它还没有以任何方式进行优化 下面代码的输出如下 Environment ProcessorCou
  • 使用 Enumerable.OfType() 或 LINQ 查找特定类型的所有子控件

    Existed MyControl1 Controls OfType
  • 更改 Qt OpenGL 窗口示例以使用 OpenGL 3.3

    我正在尝试更改 Qt OpenGL 示例以使用更现代的 opengl 版本 330 似乎合适 所以我做了 在 main cpp 上设置版本和配置文件 设置着色器版本 更改着色器以使用统一 它现在构建没有任何错误 但我只看到一个空白窗口 我错
  • 在 Xamarin 中隐藏软键盘

    如何隐藏软键盘以便在聚焦时显示Entry在 Xamarin forms 便携式表单项目中 我假设我们必须为此编写特定于平台的渲染器 但以下内容不起作用 我创建自己的条目子类 public class MyExtendedEntry Entr
  • EF Core 通过完全替换断开集合导航属性的更新

    使用 EF Core 5 0 我有一个 SPA 页面 可以加载Group实体及其集合Employee来自 API 的实体 var groupToUpdate await context Groups Include g gt g Emplo
  • 与 Qt 项目的静态链接

    我有一个在 Visual Studio 2010 Professional 中构建的 Qt 项目 但是 当我运行它 在调试或发布模式下 时 它会要求一些 Qt dll 如果我提供 dll 并将它们放入 System32 中 它就可以工作 但
  • ASP.Net Core 内容配置附件/内联

    我正在从 WebAPI 控制器返回一个文件 Content Disposition 标头值自动设置为 附件 例如 处置 附件 文件名 30956 pdf 文件名 UTF 8 30956 pdf 当它设置为附件时 浏览器将要求保存文件而不是打
  • 动态生成的控件 ID 返回为 NULL

    我可以在 Page PreInit 函数中创建动态控件 如何检索控件及其 ID 我的 C 代码用于创建动态控件之一 var btn new WebForms Button btn Text btn ID Addmore btn Click
  • vs2008 c#:Facebook.rest.api如何使用它来获取好友列表?

    如何在此基础上取得进一步的进步 获取好友列表的下一步是什么 string APIKey ConfigurationManager AppSettings API Key string APISecret ConfigurationManag
  • 如何获取 QTableView 的标题列表?

    我有一个QTableView我的对话框中的对象 我需要访问该表的水平标题并将它们放入QStringList object 尽管进行了大量搜索 但我在 Qt 文档中找不到如何获取此标头列表 编辑 我发现的最接近的地方是this https w
  • 从 WebBrowser 控件 C# 获取滚动值

    我试图在 WebBrowser 控件中获取网页的 Y 滚动索引 但无法访问内置滚动条的值 有任何想法吗 对于标准模式下的 IE 使用文档类型 正如你所说 scrollTop是的财产元素 而不是 HtmlDocument htmlDoc th
  • .NET Core 2 和 SwashBuckle Swagger UI 未显示

    我已经遵循了一些教程 并且已经让它在工作中工作 但由于某种原因 我无法显示 UI 但创建了 Swagger Json 我上次看的教程是here https learn microsoft com en us aspnet core tuto
  • 为什么 set_symmetry_difference 无法与比较器一起使用?

    Example program include
  • C# 构建一个 webservice 方法,它接受 POST 方法,如 HttpWebRequest 方法

    我需要一个接受 POST 方法的 Web 服务 访问我的服务器正在使用 POST 方法 它向我发送了一个 xml 我应该用一些 xml 进行响应 另一方面 当我访问他时 我已经使用 HttpWebRequest 类进行了管理 并且工作正常
  • 每个租户的唯一用户名和电子邮件

    我正在使用以下代码编写多租户应用程序ASP NET Core 2 1 我想覆盖默认的与用户创建相关的验证机制 目前我无法创建多个具有相同的用户UserName My ApplicationUser模型有一个名为TenantID 我想要实现的
  • C# 中的 strstr() 等效项

    我有两个byte 我想找到第二个的第一次出现byte 在第一个byte 或其中的一个范围 我不想使用字符串来提高效率 翻译第一个byte to a string会效率低下 基本上我相信就是这样strstr 在 C 中做 最好的方法是什么 这
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 每个数据库多个/单个 *.edmx 文件

    我有一个通过 ADO net 数据服务与数据库交互的项目 数据库很大 近 150 个具有依赖关系的表 该项目几年前开始 当时使用的是数据集 现在我们正在转向实体模型关系 由于我们添加了更多需要使用的表 该模型正在不断增长 这是管理这一切的正
  • 从 JavaScript 中的 OnClientClick 事件中阻止 C# 中的 asp:Button OnClick 事件?

    我有一个asp Button在我的网页上 它调用 JavaScript 函数和代码隐藏方法 后者进行调用以导航到另一个页面 在 JavaScript 函数中 我正在检查条件 如果不满足这个条件 我想中止导航 以便OnClick方法未被调用

随机推荐

  • Visual Studio 装饰扩展事件未被触发

    我正在尝试为我的视觉工作室插件创建一个基本的装饰功能 我已经有一个工具窗口和一些命令设置 我正在尝试让 adronment 工作 按照此走过 https msdn microsoft com en us library ee818135 a
  • Django 1.9 import_module 的导入错误

    当尝试运行任一runserver or shell using manage py我得到一个ImportError例外 我正在使用 Django 1 9 ImportError No module named django utils im
  • Android安装-sdk manager.exe不起作用

    我从developer android com安装了适用于Windows的android SDK installer r08 windows exe 我安装到默认位置 C Program Files Android android sdk
  • Java Spring Boot 的 Docker 基础镜像(`FROM`)是什么?

    什么 Docker 基础镜像 FROM 对于 Java Spring Boot 应用程序 我刚刚开始使用 docker 我看到了FROM inside Dockerfile可以为Java定义图像 例如 FROM java 8 如果我使用 G
  • 405 不允许的方法

    我试图访问https api box com 2 0 files但我收到Expected status code in 200 299 got 405在我的回复中 来自 AFNetworking 在发送请求之前 我已从服务器获取了我的 au
  • Spring Security Oauth2 AuthenticationSuccessEvent 在每个请求时发布

    我正在使用 Spring Security Oauth2 来保护我的 Spring Boot REST 应用程序 我想在用户登录成功和失败后处理一些操作 问题是每个 当我使用用户不记名令牌发送请求时 AuthenticationSucces
  • 如何在Python中使用JSONDecoder?仅获取内部字典进行解码

    我有一个 JSONEncoder 和 JSONDecoder class SimpleTargetJSONEncoder json JSONEncoder converts a SimpleTarget to a Dict so it ca
  • 对象不支持张量流中的项目分配

    在之前的简单程序中 我无法执行简单的任务并收到以下错误 import tensorflow as tf x 1 tf constant 1 2 3 x 1 tf reshape x 1 shape 1 3 x 2 tf constant 2
  • SQLite UTF-8 编码

    我尝试运行脚本 read FILE 具有 UTF 8 字符串 我使用了 pragma 命令 PRAGMA encoding UTF 8 但我得到了错误的字符 如果我自己创建表并插入值 则一切正常 我应该怎么做才能正确运行脚本 顺便说一下 我
  • JMSi18nRoutingBundle 语言选择器

    我已经实现了以下语言切换器 ul if path app request attributes get route li a href ES a li li a href EN a li li a href IT a li else ul
  • 返回 32(或 64)位的 python 哈希函数

    我正在寻找一个返回 32 或 64 位的哈希函数 我尝试了 hashlib 中的 md5 例如 import hashlib hashlib md5 b H hexdigest gives c1d9f50f86825a1a2302ec244
  • jQuery的append()与appendChild()

    这是一些示例代码 function addTextNode var newtext document createTextNode Some text added dynamically var para document getEleme
  • 集成appodeal时出现重复输入错误

    error 错误 任务 app transformClassesWithJarMergingForDebug 执行失败 com android build api transform TransformException java util
  • 从 Class[A] 获取 TypeTag[A]

    I have createOld我需要重写并且无法更改它的方法 我想用TypeTag模式匹配提供的类型createNew 目标是找出如何调用createNew from createOld 我目前的理解是编译器没有足够的类型信息A in c
  • MFC winMain 如何最终进入可执行文件?

    In MFC wWinMain定义于appmodul cpp 据我所知 该文件内置于 mfc90ud dll 中 但是 当我运行我的应用程序时 调用堆栈显示MyApplication exe wWinMain 它是如何采取的wWinMain
  • 通过 Nestjs 从 url 下载图像

    我想从电报帐户下载用户个人资料图片 并使用 Nestjs 框架将其存储在本地存储中 Controller export class Controller constructor private readonly httpService Ht
  • turfjs可以提供地理坐标和应用程序坐标之间的坐标转换吗

    我需要从地理坐标系统到另一个坐标系统的转换 我认为最明显的方法是给出系统的两个边界框 因此 如果我有一个经 纬度坐标的地理 bbox 以及一个与之对应但在我自己的坐标中的非地理 bbox 我想要一个可以将地理到我和我到地理转换的 xfm 我
  • 让 JTextPane 根据内容调整高度

    我想得到一个JTextPane根据我喂它的内容来调整它的高度 我所能做的就是使用 Dimension 设置固定的像素高度 我该如何制作JTextPane折叠 展开以便它适合内容 我可能会补充一点 我在一个GridBagLayout ed J
  • 张量流中 LSTM 的正则化

    Tensorflow 提供了一个很好的 LSTM 包装器 rnn cell BasicLSTM num units forget bias 1 0 input size None state is tuple False activatio
  • 使用 Swashbuckle Aspnetcore 将 `host`、`basePath` 和 `schemes` 添加到 swagger.json

    我正在使用官方文档分步方法来配置 Swagger UI 并在我的 ASP NET core API 应用程序中生成 Swagger JSON 文件 如果我查看生成的 swagger json 文件 它缺少三个重要属性host basePat