c# - 如何从根 url 重定向到/swagger/ui/index?

标签 c# asp.net-web-api swagger swashbuckle

我有一个安装了 Swashbuckle 的 WebApi 项目。

在默认设置中,我必须在浏览器中打开 http://localhost:56131/swagger/ui/index 以查看我的操作描述和测试页面。我希望它可以从站点的根目录访问:http://localhost:56131/。我怎样才能做到这一点?

最佳答案

this answer to similar question 影响,稍作修改的代码:

public class WebApiConfig
{
    public static void Configure(IAppBuilder app)
    {
        var httpConfig = new HttpConfiguration();

        // Attribute routing
        config.MapHttpAttributeRoutes();

        // Redirect root to Swagger UI
        config.Routes.MapHttpRoute(
            name: "Swagger UI",
            routeTemplate: "",
            defaults: null,
            constraints: null,
            handler: new RedirectHandler(SwaggerDocsConfig.DefaultRootUrlResolver, "swagger/ui/index"));

        // Configure OWIN with this WebApi HttpConfiguration
        app.UseWebApi(httpConfig);
    }
}

这样就不需要像@bsoulier 在他的回答中那样创建新的 WebAPI Controller 。

此解决方案基于 Swashbuckle.Core 程序集中已有的类 RedirectHandler

关于c# - 如何从根 url 重定向到/swagger/ui/index?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37724666/

相关文章:

c# - 如何显示两个表的搜索结果?

c# - SQL LIKE 语句或 C# foreach 检查?

java - Swagger codegen 插件生成对 getter 的约束

c# - 如何使用 Swashbuckle.AspNetCore 在 Swagger 模式中将自定义泛型类型公开为字符串

c# - .Net SqlConnection、服务器身份验证和证书固定

c# - 创建用户时读取超时错误c#

url - 值为空字符串的 WebApi 请求 URL

javascript - 在同一端口上运行单独的 ASP.NET 项目

c# - 从 swagger 响应中排除 ef 虚拟属性

c# - 在运行时使用动态泛型参数转换泛型