Swagger的页面显示为我的网页的起始页面

时间:2018-08-28 10:49:06

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

我正在使用Swagger作为我的API文档系统。我已经安装了所有必需的工具,并且可以正常工作。但是,我遇到的问题是我的起始页面显示了Swagger的页面。有什么建议可以解决这个问题吗?

这是我的Startup.cs-配置文件

  public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseBrowserLink();
            app.UseDeveloperExceptionPage();
            app.UseDatabaseErrorPage();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
        }

        app.UseStaticFiles();

        app.UseAuthentication();


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

        app.UseSwagger();
        app.UseSwaggerUI(c =>
        {
            c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
            c.RoutePrefix = string.Empty;
        });

    }

2 个答案:

答案 0 :(得分:1)

您应该删除前缀。这是我在项目中的操作方式:

    // ConfigureServices
    services.AddMvc();
    services.AddSwaggerGen(options =>
        {
            options.SwaggerDoc("path", new Info() { Title = "My API V1", Version = "v1" });
        });

    // Configure
    app.UseAuthentication():
    app.UseStaticFiles();
    app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
    });
    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/path/swagger.json", "My API V1");
    });

答案 1 :(得分:0)

启动页面不是您在代码中配置的。您可以在Visual Studio的项目属性中进行配置,因为这只会影响您的开发过程。

您可以通过右键单击项目,打开项目属性并转到启动选项来找到它:https://msdn.microsoft.com/en-us/library/ms178730.aspx#Anchor_1