如何查看Azure API应用程序的swagger ui

Sha*_*kar 6 c# azure swagger azure-web-sites azure-api-apps

我正在Visual Studio 2015上创建一个Azure API应用程序.当我点击浏览并重定向到http://localhost:3012/如果我添加swagger到网址没有任何反应:http://localhost:3012/swagger

似乎我需要添加/docs/v1一个完整的地址:http://localhost:3012/swagger/docs/v1.当我添加/ swagger加载swagger页面时,不应该像自动URL路由一样.此外,我只能查看json架构,如果我浏览到UI http://localhost:3012/swagger/ui页面没有加载.

API应用程序构建成功.有什么遗失?

Ped*_*ias 7

在WebAPI项目的配置中(SwaggerConfig.cs在文件夹中App_Start),您必须启用Swagger UI.它被注释为默认行为.

只需打开配置,搜索:

                /*
                    })
                .EnableSwaggerUi(c =>
                    {
                */
Run Code Online (Sandbox Code Playgroud)

并禁用上面和下面的行中的注释


Ram*_*ine 3

上面的 Pedro 为启用 SwaggerUi 提供了完美的答案。至于你关于网址“ swagger/docs/v1”的问题

这是 Swashbuckle 用于返回 API 的 Swagger 2.0 JSON 元数据的默认 URL

SwaggerConfig.cs文件是在项目中安装 Swashbuckle 包时创建的。您可以在文件夹“App_Start”中找到它。它提供了多种配置 Swashbuckle 的方法。我还没有检查您是否可以更改默认 URL 或对其进行 URL 重新路由。

编辑:

Swagger 文档和 swagger-ui 的默认路由模板分别为“swagger/docs/{apiVersion}”和“swagger/ui/{*assetPath}”。只要提供的模板包含相关的路由参数 - {apiVersion} 和 {*assetPath},您就可以更改这些内容。例如:swagger-ui 的 URL 将为 myswag/index.html。

httpConfiguration .EnableSwagger("docs/{apiVersion}/swagger", c => c.SingleApiVersion("v1", "API 的标题"))

.EnableSwaggerUi("myswag/{*assetPath}");

您可以在 GitHub 存储库中阅读更多相关信息:https://github.com/domaindrivendev/Swashbuckle