Недавно я установил 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
Кто-нибудь может помочь?
Спасибо,