NSwag не отображает пользовательский интерфейс на .Net core 2.1 - PullRequest
0 голосов
/ 01 ноября 2018

Недавно я установил NSwag.AspNetCore в свой проект ASP.Net Core 2.1 для создания документа API, Это мой исходный код в Startup.cs файле:

public void ConfigureServices(IServiceCollection services)
{
    // Add swagger.
    services.AddSwagger();

    // Construct mvc options.
    services.AddMvc(mvcOptions =>
        {
            ////only allow authenticated users
            var policy = new AuthorizationPolicyBuilder()
                .RequireAuthenticatedUser()
                .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
                .Build();

            mvcOptions.Filters.Add(new AuthorizeFilter(policy));
        })
        .AddJsonOptions(options =>
        {
            options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
        })
        .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
    ;
}

public void Configure(IApplicationBuilder app,
IHostingEnvironment env,
ILoggerFactory loggerFactory, IServiceProvider serviceProvider)
{
        app.UseSwaggerUi3WithApiExplorer(settings =>
        {
            settings.GeneratorSettings.DefaultPropertyNameHandling =
                PropertyNameHandling.CamelCase;

            settings.GeneratorSettings.OperationProcessors.Add(new OperationSecurityScopeProcessor("API Key"));

            settings.GeneratorSettings.DocumentProcessors.Add(new SecurityDefinitionAppender("API Key",
                new SwaggerSecurityScheme
                {
                    Type = SwaggerSecuritySchemeType.ApiKey,
                    Name = "Authorization",
                    Description = "Copy 'Bearer ' + valid JWT token into field",
                    In = SwaggerSecurityApiKeyLocation.Header
                }));
        });

        app.UseStaticFiles();

        // Enable MVC features.
        app.UseMvc();

}

Сначала я запустил проект, и он заработал. Но во второй раз, после того, как я установил NSwag.Annotation и удалил его. Когда я запускаю свое приложение, в конечной точке нет пользовательского интерфейса Swagger: <myhost>/swagger и статус: 404

Кто-нибудь может помочь? Спасибо,

...