距离Azure Functions OpenAPI Extension的预览版发布已有一年的时间,今天,我们很开心地宣布它已经正式发布了!该版本支持.NET Core 2.1 (LTS)、3.1 (LTS)、.NET 5 和 .NET 6 (LTS)的同时,它还支持Azure Functions运行时的进程内和进程外工作线程。
接下来,让我们看看如何在 Visual Studio 2022 中使用 .NET 6 中的 OpenAPI extension创建函数应用。
In-Process Worker
在Visual Studio 2022中,你可以使用In-Process Worker在 .NET中创建函数应用:
选择.NET 6→选择左侧菜单的"Http trigger with OpenAPI"→在Authorization level中选择“Function”即可开始创建。
你可以看到有几个decorator以OpenApi开头。由于此扩展的更新Visual Studio项目模板尚未发布,因此现在需要更新 OpenApi extension。选择Solution Explorer中的"Dependencies" 菜单,然后点击"Manage NuGet Packages..." 菜单。将现有的Microsoft.Azure.WebJobs.Extensions.OpenApi package更新为1.0.0。更新后,重建项目并通过单击顶部的“调试”按钮运行函数应用程序。
‘
Out-of-Process Worker
在 Visual Studio 2022 中,您还可以使用Out-of-Process Worker在.NET中创建函数应用。由于此扩展的更新Visual Studio项目模板尚未推出,您现在需要使用现有的 HTTP触发器并添加NuGet package。创建方式如下:
添加 NuGet Package Microsoft.Azure.Functions.Worker.Extensions.OpenApi。安装后,更新 Program.cs 以激活扩展。删除ConfigureFunctionsWorkerDefaults(),并添加 ConfigureFunctionsWorkerDefaults(worker =>worker.UseNewtonsoftJson()) 和 ConfigureOpenApi()。然后,将OpenAPI相关decorator添加到函数应用尾端。完成更新后,通过单击顶部的“调试”按钮重建项目并运行函数应用程序。
从 .NET Core 3.1或.NET 5迁移至 .NET 6
只需更新.csproj文件,package版本以及目标框架。然后将Azure Functions相关的NuGet packages更新至最新版本,包括OpenAPI extension。重新构建项目,单击顶部的“调试”按钮运行函数应用程序。接下来,打开Web浏览器进入http://localhost:7071/api/swagger/ui,你就可以看到Swagger UI页面了。
更多细化的操作步骤请扫描二维码查看