如何为 Azure Functions v3 配置 swagger ui 页面?

2024-01-30

我使用以下命令将 OpenApi 支持添加到 Azure 函数应用程序 (v3).ConfigureOpenApi() in Program.Main()。我对特定功能使用函数装饰,但如何控制 ~/api/swagger/ui 上显示的通用 API 名称、版本等?

这是我的Program.Main() code:

        public static void Main()
        {

            var host = new HostBuilder()
                .ConfigureFunctionsWorkerDefaults(worker => worker.UseNewtonsoftJson())        
                .ConfigureOpenApi()
                .ConfigureServices(services =>
                    {
                        services.AddLogging();
                    }
                )
                .Build();

            host.Run();
        }
    }

要控制 API 元信息,您应该定义一个类来实现IOpenApiConfigurationOptions(位于命名空间Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Abstractions).

注意:应该只有一个实现IOpenApiConfigurationOptions项目中的接口。类名称空间或可见性似乎并不重要。

最简单的方法就是继承DefaultOpenApiConfigurationOptions由...提供Microsoft.Azure.WebJobs.Extensions.OpenApi.Core并覆盖特定属性。

将包含以下内容的文件添加到您的项目(并更新必要的值):

using System;
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Configurations;
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Enums;
using Microsoft.OpenApi.Models;

namespace MyApp
{
    internal class OpenApiConfigurationOptions : DefaultOpenApiConfigurationOptions
    {
        public override OpenApiInfo Info { get; set; } = new OpenApiInfo
        {
            Version = "1.0.0",
            Title = "My API",
            Description = "My API description",
            License = new OpenApiLicense
            {
                Name = "MIT",
                Url = new Uri("http://opensource.org/licenses/MIT"),
            }
        };

        public override OpenApiVersionType OpenApiVersion { get; set; } = OpenApiVersionType.V3;
    }
}

Microsoft 提供了一些示例项目,可以在这里找到 https://github.com/Azure/azure-functions-openapi-extension/blob/main/samples

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为 Azure Functions v3 配置 swagger ui 页面? 的相关文章

随机推荐

  • MVC 4 Razor - 创建动态 DropDownList

    我正在尝试创建一个具有两个 DropDownList 的视图 第二个 DropDownList 中的可用选项取决于用户在第一个 DropDownList 中选择的选项 我将此数据传递到 ViewBag 中的视图 如下所示 List
  • 根据满足哪个条件对行进行排序?

    我有一个非常简单的问题 是否可以根据满足哪个条件对检索到的行进行排序 例如 我有一个人员表 我想检索姓名以 I 开头 以 ster 结尾 或包含 lo 的所有人员 并根据满足这些条件的条件进行排序 首先匹配第一个条件的行 然后匹配第二个条件
  • 鼠标按下时更改背景图像

    我有一个小问题 我发誓应该有用 这似乎是一个愚蠢的问题 但它是 我想要一个我创建的 div 来充当按钮 当我点击它时它不想改变它的背景 给出按钮的效果 这是我的代码 div div
  • 如何找出 R 中加载的包版本?

    我正在研究如何使用我的大学集群 它安装了 2 个版本的 R 系统范围的 R 2 11 Debian 6 0 和 R 2 14 2 位于非标准位置 我正在尝试将 MPI 与雪一起使用 我尝试运行的代码如下 library snow libra
  • C 语言中最常见的命名约定是什么?

    C 语言中常用的命名约定是什么 我知道至少有两个 GNU linux K R 与 lower case functions 姓名 与 UpperCaseFoo 函数 我这里只讨论C 我们的大多数项目都是使用 C 语言的小型嵌入式系统 这是我
  • Watir::Exception::MissingWayOfFindingObjectException:无效属性::css

    我很确定 watir webdriver 有 css 选择器支持 但看起来它不再存在了 ruby v ruby 1 9 3p0 2011 10 30 revision 33570 x86 64 darwin11 2 0 gem v 1 8
  • Keen.io Dataviz 绘制图表但不断收到错误“未捕获的请求解析器不存在”

    在绘制折线图之前尝试进行一些自定义数据更改 Keen io Dataviz 绘制图表但不断收到错误 未捕获的请求解析器不存在 Keen Dataviz 只从 Keen query 获取数据吗 Data result value 317 ti
  • 使用 python 和 boto 在 s3 中公开一个文件

    我在下面有一个 Thins 链接 当我尝试访问它时 会出现一个 xml 文件 上面写着 访问被拒绝 我需要进入 aws 管理控制台并进行此操作part 0000文件公开 以便我可以访问它 您知道如何使用 boto 和 python 授予权限
  • 在云中托管公共(只读)Neo4j 实例

    我正在开展一个开放科学项目 以了解药物为何有效 我们创建了一个名为Hetionet https github com dhimmel hetionet有 47 031 个节点和 2 250 197 个关系 是使用 Neo4j https t
  • Jasmine 规范未找到 CoffeeScript 中定义的类

    我正在 Rails 3 1 后端构建一个backbone js 应用程序 我使用 CoffeeScript 编写主干类 并使用 Jasmine 通过 jasmine headless webkit 进行测试 给定以下 部分 树 app as
  • 无需 jQuery UI 即可进行 jQuery 排序

    我需要 可排序的拖放 功能 并且我正在使用 jQuery 我无法真正使用 jQuery UI 因为对于这个项目来说 这将是一种开销 我需要添加许多 KB 的 JS 和 CSS 才能使用一小部分功能 有没有您可以推荐的插件或者我可以遵循的简单
  • TNS:侦听器当前不知道连接描述符中请求的服务

    运行我的应用程序时 我收到 ORA 12514 TNS listener 目前不知道连接描述符中请求的服务 但我可以通过 Visual Studio 中的服务器资源管理器连接到数据库 应用程序在哪里 发布时 查找连接数据库所需的信息 我们的
  • 哪里说 0x 前缀使文字成为十六进制基数?

    我知道我可以写0x1230FF在Python中 它将是一个值为1192191的字面int 但是我在官方文档或PEP中找不到任何指定这是允许的并且0x确实表示十六进制基数 我能找到的最接近的是PEP 3127 整数文字支持和语法 https
  • AS3 USB 游戏控制器支持

    如何让 USB 控制器控制我的 AS3 游戏 我现在正在使用键盘 我考虑过映射按键 但我必须为此使用一个插件 我只是希望用户能够购买一个不需要任何驱动程序下载 配置的 简单控制器 他们应该能够插入 USB 控制器并通过浏览器中的 Flash
  • Apple 推送通知身份验证密钥(沙盒和生产)

    我最近在为给定 iOS 客户端创建证书时注意到一个新选项 该选项的标题是 Apple 推送通知身份验证密钥 沙盒和生产 获取身份验证密钥以生成服务器端令牌 您可以使用 这些令牌作为您通知的证书的替代品 要求 一个身份验证密钥可以用于多个应用
  • 从 PowerShell 调用 CreateProcess

    我正在尝试打电话创建进程 http msdn microsoft com en us library windows desktop ms682425 28v vs 85 29 aspx来自 PowerShell API 调用表明它已成功
  • 如何将 TextView 值转换为 Integer

    美好的一天 编程勇士们 请帮我解决这个简单的问题 我是 Android 新手 如何将 TextView 值转换为 Integer 请看我附加的代码 谢谢 public class appleTrivia extends AppCompatA
  • Angular 9 - 伊斯坦布尔测试覆盖率报告生成为空

    我收到一份空报告 它列出了文件 但没有填充百分比 知道是什么原因造成的吗 错误信息 Handlebars 访问已被拒绝解析属性 语句 因为它不是其父级的 自己的属性 我的 package json 文件 dependencies angul
  • PL/SQL 存储过程输出游标到 VBA ADODB.RecordSet?

    在这篇文章的序言中 我想说我对 Excel 2007 vba 宏相当陌生 我正在尝试调用一个以游标作为输出参数的 Oracle PL SQL 存储过程 程序规范如下所示 PROCEDURE get product out cur data
  • 如何为 Azure Functions v3 配置 swagger ui 页面?

    我使用以下命令将 OpenApi 支持添加到 Azure 函数应用程序 v3 ConfigureOpenApi in Program Main 我对特定功能使用函数装饰 但如何控制 api swagger ui 上显示的通用 API 名称