如何从 OpenAPI 定义生成 Visual Basic .NET 客户端?

问题描述 投票:0回答:1

我需要从 Visual Basic .NET 项目 (.NET Framework 3.5) 调用 REST API。他们给了我一个 OpenAPI .yaml 文件。在 Swagger 编辑器中,我无法生成 Visual Basic 的客户端,只能生成 C# 的客户端。我尝试从 Swagger 编辑器导出 JSON 并将其作为类粘贴到 Visual Studio 中,但生成的类似乎不正确且不完整。

有没有办法从 OpenAPI 定义生成 Visual Basic .NET 客户端?

vb.net swagger .net-3.5 code-generation openapi
1个回答
0
投票

我使用 NSwag 库找到了适合我的东西

https://github.com/RicoSuter/NSwag/wiki/OwinGlobalAsax#integration

nuget安装

  • Microsoft.Owin.Host.SystemWeb
  • NSwag.AspNet.Owin

WebApiConfig.vb

RouteTable.Routes.MapOwinPath("swagger", Function(app) As Owin.IAppBuilder
                                                         Return app.UseSwaggerUi(GetType(WebApiApplication).Assembly, Function(opts) As SwaggerUiSettings(Of NSwag.Generation.WebApi.WebApiOpenApiDocumentGeneratorSettings)
                                                                                                                          opts.MiddlewareBasePath = "/swagger"
                                                                                                                          opts.GeneratorSettings.DefaultUrlTemplate = "api/{controller}/{action}/{id}"
                                                                                                                          Return opts
                                                                                                                      End Function)
    End Function)

Web.Config

<configuration>
 <appSettings>
  <add key="owin:AutomaticAppStartup" value="false" />
  <system.webServer>
    <handlers>
    <!-- Handler swagger -->
<add name="NSwag" path="swagger" verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
© www.soinside.com 2019 - 2024. All rights reserved.