【问题标题】:Can ASP.NET automatically generate code from an API definition file?ASP.NET 能否从 API 定义文件自动生成代码?
【发布时间】:2022-12-06 00:12:25
【问题描述】:
在许多 API(Web 服务)的 Swagger 页面上有一个文档文件,其中包含有关 API 对象属性的信息(它们的类型,是否需要它们等)似乎此数据可用于自动生成创建/读取/update/delete 代码或可能是 API 服务的代码,用于与 API 端点的交互。
我想知道这在 .NET 6.0(或其他版本)、Visual Studio Professional 等中是否可行。提前致谢。
【问题讨论】:
标签:
c#
asp.net
visual-studio
.net-core
【解决方案1】:
是的,可以从 .NET 6.0 和 Visual Studio Professional 中的 Swagger 文档为 API 生成代码。
.NET 6.0 包含一个名为 OpenAPI Generator 的工具,它可以自动从 Swagger 文档文件生成代码。该工具支持多种编程语言,包括 C#,并且可以为不同类型的项目生成代码,例如 ASP.NET Core Web 服务、使用 API 的客户端库等。
要使用 OpenAPI Generator,您必须先下载并安装 .NET 6.0 和 Visual Studio Professional。然后,您可以使用命令行工具或使用 NuGet 包将其与 Visual Studio 集成。
下面是使用 OpenAPI 从 Swagger 文档文件生成 API 代码的示例命令
dotnet openapi-generator generate -i /directory/path/file.yaml -g csharp -o /output/directory/path/
此命令从位于 /path/to/file.yaml 的 Swagger 文档文件生成 C# 代码,并将生成的代码保存到输出文件夹 /path/to/output/folder。
您还可以通过在项目中安装 OpenApiGenerator.CodeGenerator NuGet 包来使用 Visual Studio 中的 OpenAPI 生成器工具。安装包后,您可以使用 Visual Studio UI 从 Swagger 文档文件生成代码。