我正在尝试将 Swagger 连接到 VB.Net REST API 项目。无论我尝试什么,应用程序在点击 swagger/ui/index URL 时都会继续返回 404 响应。最初,在启动时我输入以下 URL:http://localhost/ApiNameHere/Swagger。 IIS 尝试访问(重定向到)http://localhost/swagger/ui/index。这将返回 404 响应。
我看到了删除 .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)
有什么想法吗?
我在继续使用 /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