Ошибка Swagger / Swashbuckle - Невозможно отобразить это определение - PullRequest
0 голосов
/ 09 июля 2019

.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" });
        });  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...