Swashbuckle Swagger – это фреймворк для спецификаций RESTful API, которые выраженны с помощью JSON. Swagger используется вместе с набором программных инструментов с открытым исходным кодом для проектирования, создания, документирования и использования веб-служб RESTful. Его сильная сторона заключается в том, что он дает возможность не только интерактивно просматривать спецификацию контроллеров WebAPI, но и отправлять запросы через Swagger UI.
Swagger – удобный инструмент для реализации встроенной в код документации. Добавление XML-комментариев методам контроллеров делает описание методов наглядными при работе через Swagger UI. Отличное руководство по Началу работы с Swashbuckle и ASP.NET Core расположено на сайте Майкрософт. Там приведены рекомендации по подключению Swagger и по оформлению XML-комментариев к методам контроллеров WebAPI.
Рассмотрим пример одного из таких XML-комментариев метода Create
:
1 | /// <summary> |
Обратите внимание, как эти дополнительные комментарии улучшают пользовательский интерфейс:
Однако я столкнулся со следующей проблемой: в случае присутствия одного из следующих символов: & > < “ ‘
в XML-комментарии, описание метода в Swagger UI полностью ломается и перестаёт отображаться, т.е. метод начинает выглядеть так, как будто никакого XML-комментария вовсе и нет.
Проблема заключается в природе самого XML, который по своей сути знает только об & < > ' "
, а также числовых объектах. Поэтому вместо & > < ‘ “
нужно использовать & < > ' "
. В таком случае комментарии к методам WebAPI исчезать из Swagger UI не будут.