如何默认打开Swagger / index而不是Index.chtml

时间:2019-10-19 13:44:48

标签: c# asp.net-core-mvc swagger swagger-ui

当我启动一个项目(.Net Core MVC)时,Index.chtml照常打开。默认情况下如何打开Swagger界面。

我有这样的默认路由:

app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

2 个答案:

答案 0 :(得分:1)

您可以通过以下几种方法实现此目的:

  1. 打开launchsettings.json文件,并将applicationUrl参数的值更改为大写网址。

  1. 将此路由添加到RouteConfig.cs
    routes.MapHttpRoute(
        name: "swagger_root",
        routeTemplate: "",
        defaults: null,
        constraints: null,
        handler: new RedirectHandler((message => message.RequestUri.ToString()), "swagger"));

  1. 在项目属性的“调试”选项卡中更改Launch browser

enter image description here

答案 1 :(得分:1)

有几种方法可以实现此目的:

  1. 将“主页索引”操作更改为HTTP重定向到您的Swagger UI
  2. 您可以在Visual Studio中更新项目属性的“调试”面板,以启动Swagger UI页面的URL,而不是应用程序的根。

Screenshot of Visual Studio Debug pane