如何配置Azure Functions v3的swagger UI页面? [英] How can I configure the swagger ui page for Azure Functions v3?
本文介绍了如何配置Azure Functions v3的swagger UI页面?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在Program.Main()
中使用.ConfigureOpenApi()
向Azure Functions应用程序(V3)添加了OpenApi支持。我对特定函数使用函数修饰,但如何控制~/api/swagger/ui上显示的通用API名称、版本等?
以下是我的Program.Main()
代码:
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
接口实现。类命名空间或可见性似乎并不重要。
最简单的方法是继承Microsoft.Azure.WebJobs.Extensions.OpenApi.Core
提供的DefaultOpenApiConfigurationOptions
并重写特定属性。
将包含以下内容(并更新必要的值)的文件添加到项目中:
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的示例项目可以found here
这篇关于如何配置Azure Functions v3的swagger UI页面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文