如何从根 url 重定向到/swagger/ui/index? [英] How to redirect from root url to /swagger/ui/index?

查看:25
本文介绍了如何从根 url 重定向到/swagger/ui/index?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a WebApi project with Swashbuckle installed onto it.

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

In default setup, I must open in browser http://localhost:56131/swagger/ui/index to view my operations description and test page. I want it to be accessible from root of the site: http://localhost:56131/. How can I achieve this?

推荐答案

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

Influenced by this answer to similar question, slightly modified code:

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 控制器.

This way it is not necessary to create new WebAPI controller as so did @bsoulier in his answer.

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

This solution is based on already existing class RedirectHandler in Swashbuckle.Core assembly.

这篇关于如何从根 url 重定向到/swagger/ui/index?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆