.Netcore 2.2
Swashbuckle 4.0.1
Swagger UI работает на локальном хосте, но после развертывания в Azure ASE на сайт, управляемый Application Gateway, swagger не будет загружаться. (подтверждено, что генерируется swagger.json). Ошибка .....
Невозможно сделать это определение
В указанном определении не указывается допустимое поле версии.
Укажите правильное поле версии Swagger или OpenAPI. Поля поддерживаемой версии: swagger: "2.0" и поля, соответствующие openapi: 3.0.n (например, openapi: 3.0.0).
Я просмотрел другие подобные посты и попробовал другие предложения без разрешения. Вот соответствующий код из автозагрузки.
app.UseStaticFiles();
if (env.IsDevelopment())
{
app.UseSwagger(c =>
{
c.RouteTemplate = "swagger/{documentName}/swagger.json";
});
}
else
{
app.UseSwagger(c =>
{
c.RouteTemplate = "swagger/{documentName}/swagger.json";
c.PreSerializeFilters.Add((doc, request) =>
{
var root = request.Host.Value;
doc.Host = root;
});
});
}
// Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
// specifying the Swagger JSON endpoint.
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "TestSwagger Api V1");
c.RoutePrefix = string.Empty;
});
app.UseMvc();
/* from ConfigureServices */
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
});