Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Настройка
NoWarn1591На заметку! Предупреждения 1701 и 1702 являются пережитками ранних дней классической платформы .NET, которые обнажают компиляторы .NET Core. Чтобы взглянуть на процесс в действии, модифицируйте метод
Get()ValuesController/// <summary>/// This is an example Get method returning JSON/// </summary>/// <remarks>This is one of several examples for returning JSON:/// <pre>/// [/// "value1",/// "value2"/// ]/// </pre>/// </remarks>/// <returns>List of strings</returns>[HttpGet]public IActionResult Get(){ return Ok(new string[] { "value1", "value2" });}Когда вы скомпилируете проект, в корневом каталоге проекта появится новый файл по имени
AutoLot.Api.xml<?xml version="1.0"?><doc> <assembly> <name>AutoLot.Api</name> </assembly> <members> <member name="M:AutoLot.Api.Controllers.ValuesController.Get"> <summary> This is an example Get method returning JSON </summary> <remarks>This is one of several examples for returning JSON: <pre> [ "value1", "value2" ] </pre> </remarks> <returns>List of strings</returns> </member> </members></doc>На заметку! Если вы вводите три символа прямой косой черты перед определением класса или метода в Visual Studio, то среда создает начальную заглушку для XML-комментариев.
Далее необходимо объединить XML-комментарии со сгенерированным файлом
swagger.jsonДобавление XML-комментариев в процесс генерации Swagger
Сгенерированные XML-комментарии должны быть добавлены в процесс генерации
swagger.jsonusingStartup.csusing System.IO;using System.Reflection;Файл XML-документации добавляется в Swagger вызовом метода
IncludeXmlComments()AddSwaggerGen()ConfigureServices()StartupAddSwaggerGen()services.AddSwaggerGen(c =>{ c.SwaggerDoc("v1", new OpenApiInfo { Title = "AutoLot Service", Version = "v1", Description = "Service to support the AutoLot dealer site", License = new OpenApiLicense { Name = "Skimedic Inc", Url = new Uri("http://www.skimedic.com") } });<b> var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";</b><b> var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);</b><b> c.IncludeXmlComments(xmlPath);</b>});Запустите приложение и загляните в пользовательский интерфейс Swagger. Обратите внимание на XML-комментарии, интегрированные в пользовательский интерфейс Swagger (рис. 30.4).

Помимо XML-документации документирование может быть улучшено дополнительной конфигурацией конечных точек приложения.
Дополнительные возможности документирования для конечных точек API
Существуют дополнительные атрибуты, которые дополняют документацию Swagger. Чтобы применить их, начните с добавления показанных далее операторов
usingValuesController.csusing Microsoft.AspNetCore.Http;