Читаем Язык программирования C#9 и платформа .NET5 полностью

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")

      }

    });

});

Следующий шаг связан с переносом вызовов UseSwagger() и UseSwaggerUI() из блока, предназначенного только для среды разработки, в главный путь выполнения внутри метода Configure(). Кроме того, поменяйте заголовок "AutoLot.Api vl" на "AutoLot Service vl".

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, 

ApplicationDbContext context)

{

  if (env.IsDevelopment())

  {

    // Если среда разработки, тогда отображать отладочную информацию.

    app.UseDeveloperExceptionPage();

    // Первоначальный код:

    // app.UseSwagger();

    // app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json",

    //                                         "AutoLot.Api v1"));

    // Инициализировать базу данных.

    if (Configuration.GetValue("RebuildDataBase"))

    {

      SampleDataInitializer.ClearAndReseedDatabase(context);

    }

  }

  // Включить промежуточное ПО для обслуживания сгенерированного

  // файла Swagger как конечной точки JSON.

  app.UseSwagger();

  // Включить промежуточное ПО для обслуживания пользовательского

  // интерфейса Swagger (HTML, JS, CSS и т.д.), указывая конечную

  // точку JSON для Swagger

  app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json",

                                            "AutoLot Service v1"); });

  ...

}

В предыдущем коде используется Swagger(app.UseSwagger()) и пользовательский интерфейс Swagger(app.useSwaggerUI()). В нем также конфигурируется конечная точка для файла swagger.json.

<p id="AutBody_Root1418"><strong>Добавление файла XML-документации</strong></p>

Инфраструктура .NET Core способна генерировать файл XML-документации для вашего проекта, исследуя методы на предмет наличия комментариев с тремя символами прямой косой черты (///). Чтобы включить такую функциональность в Visual Studio, щелкните правой кнопкой мыши на имени проекта AutoLot.Api и в контекстном меню выберите пункт Properties (Свойства). В открывшемся диалоговом окне Properties (Свойства) перейдите на вкладку Build (Сборка), отметьте флажок XML documentation file (Файл XML-документации) и укажите в качестве имени файла AutoLot.Api.xml. Кроме того, введите 1591 в текстовом поле Suppress warnings (Подавлять предупреждения), как показано на рис. 30.3.

Те же настройки можно вводить прямо в файле проекта. Ниже показан раздел PropertyGroup, который понадобится добавить:

  AutoLot.Api.xml

  1701;1702;1591;

Настройка NoWarn с указанием 1591 отключает выдачу предупреждений компилятором для методов, которые не имеют XML-комментариев.

На заметку! Предупреждения 1701 и 1702 являются пережитками ранних дней классической платформы .NET, которые обнажают компиляторы .NET Core. Чтобы взглянуть на процесс в действии, модифицируйте метод Get() класса ValuesController следующим образом:

///

/// This is an example Get method returning JSON

///

/// This is one of several examples for returning JSON:

///

/// [

///   "value1",

///   "value2"

/// ]

///

///

/// List of strings

[HttpGet]

public IActionResult Get()

{

  return Ok(new string[] { "value1", "value2" });

}

Когда вы скомпилируете проект, в корневом каталоге проекта появится новый файл по имени AutoLot.Api.xml. Открыв его, вы увидите только что добавленные комментарии:

 

    AutoLot.Api

 

 

   

     

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных