Сводка контроллера WebApi не отображается в документации Swagger

Когда я включаю эту функцию документации через Swagger, я могу видеть всю информацию о моей документации, но нет подробностей о деталях / описании имени моего контроллера.

Как показать содержимое документации контроллера, как показано ниже?

/// <summary> 

/// Represents the alert api controller class.

/// <summary>

public class XYZController : ApiController
{

}

При включении чванства я не могу видеть этот контент где-либо Represents the XYZ api controller class. here

Однако я могу видеть все описание моего метода.


person JARVIS    schedule 03.02.2017    source источник


Ответы (7)


вам нужно добавить расширение IncludeXmlComments в AddSwaggerGen, как показано ниже:

 services.AddSwaggerGen(c =>
        {
            c.SwaggerDoc("v1.0", new Info
            {
                Title = "My APIs",
                Version = "v1.0",
                Description = "REST APIs "
            });

            **// Set the comments path for the Swagger JSON and UI.**
            var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
            var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
            c.IncludeXmlComments(xmlPath);            
        });

Подробнее см. Здесь

person Palash Roy    schedule 25.03.2019

1.) Щелкните правой кнопкой мыши проект и отредактируйте projname.csproj Добавьте следующее

<PropertyGroup>
  <GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>

2.) Добавьте следующее в AddSwaggerGen в ConfigureServices

  // Set the comments path for the Swagger JSON and UI.
                var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                c.IncludeXmlComments(xmlPath);

Для получения более подробной информации перейдите по ссылке:

https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-5.0&tabs=visual-studio

person Sumeet    schedule 21.11.2020
comment
Это тот, который мне больше всего помог. - person Patrick Knott; 05.03.2021

Есть ли следующий код в классе SwaggerConfig?

GlobalConfiguration.Configuration 
            .EnableSwagger(c =>
                {

                    c.IncludeXmlComments(string.Format(@"{0}\bin\YourAssemlyName.XML", System.AppDomain.CurrentDomain.BaseDirectory));  
person levent    schedule 03.02.2017

Я думаю, это связано со следующей проблемой: https://github.com/domaindrivendev/Swashbuckle/issues/572

По словам сопровождающего, в настоящее время невозможно отобразить сводку контроллера:

The reason this has been low on the priority list is because it's not something I've run into issues with. You can absolutely describe what every action in your API does using XML comments on your actions.

person Elias Platek    schedule 26.04.2017

Это возможно, см. Ответ @Liversage на этой странице https://github.com/domaindrivendev/Swashbuckle/issues/572

services.AddSwaggerGen(c =>
{
    var xmlPath = ...;
    c.IncludeXmlComments(xmlPath, includeControllerXmlComments: true);
});
person Asad Malik    schedule 15.04.2020

Поскольку некоторые ребята уже ответили, я предполагаю, что вопрос был об этом:

var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
s.IncludeXmlComments(xmlPath, includeControllerXmlComments: true);

set includeControllerXmlComments: true позволит снимать сводку контроллеров.

person Egor Sindeev    schedule 03.12.2020

в моем случае мне нужно было только отметить использование XML-документа  введите описание изображения здесь

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DocumentationFile>C:...\CertReports.Host.xml</DocumentationFile>
person ahaliav fox    schedule 15.09.2020