使用 VB.Net 的 swagger 接收 404 响应

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

我正在尝试将 Swagger 连接到 VB.Net REST API 项目。无论我尝试什么,应用程序在点击 swagger/ui/index URL 时都会继续返回 404 响应。最初,在启动时我输入以下 URL:http://localhost/ApiNameHere/Swagger。 IIS 尝试访问(重定向到)http://localhost/swagger/ui/index。这将返回 404 响应。

  • Swashbuckle 用于安装 Swagger
  • 在本地,应用程序在 IIS 中运行。

我看到了删除 .vs 文件夹的建议。我已经试过了,没用。

这是 SwaggerConfig.vb 文件:

Public Class SwaggerConfig
  Public Shared Sub Register(config As HttpConfiguration)

    Dim thisAssembly = GetType(SwaggerConfig).Assembly
    config.EnableSwagger(
      Sub(c)
        c.SingleApiVersion("v1", "ApiNameHere")
      End Sub
      ).EnableSwaggerUi()

  End Sub
End Class

这是相关的Startup.vb代码:

Dim config = New HttpConfiguration()
config.MapHttpAttributeRoutes()
config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", New With {RouteParameter.Optional})
SwaggerConfig.Register(config)
app.UseWebApi(config)

有什么想法吗?

vb.net swagger swagger-ui swashbuckle
1个回答
0
投票

我在继续使用 /swagger 解决问题时遇到了 404 的问题,我必须将 SwaggerConfig.cs 转换为 SwaggerConfig.vb

Imports System.Web.Http
Imports WebActivatorEx
Imports Swashbuckle.Application
Imports WebApplication.WebApplication

<Assembly: PreApplicationStartMethod(GetType(SwaggerConfig), "Register")>

Namespace WebApplication
    Public Class SwaggerConfig
        Public Shared Sub Register()
            Dim thisAssembly = GetType(SwaggerConfig).Assembly

            GlobalConfiguration.Configuration.
                EnableSwagger(Sub(c)
                                  c.SingleApiVersion("v1", "Application")
                              End Sub).
                EnableSwaggerUi(Sub(c)
                                  c.DocExpansion(DocExpansion.List)
                                End Sub)
        End Sub
    End Class
End Namespace
© www.soinside.com 2019 - 2024. All rights reserved.