Я рассматриваю использование Swashbuckle/Swagger для документирования моего решения WebAPI. Портал разработчика был бы чем-то вроде https://myapi.com/, а версированный API - https://myapi.com/v1/users.Swashbuckle, несколько версий API и виртуальные каталоги
Часть версии URL-адреса относится к виртуальному каталогу, содержащему двоичные файлы и файлы конфигурации для v1. Когда версия 2 отправляется, мы создаем новый виртуальный каталог под корнем, так что теперь у нас есть https://myapi.com/v2/users/some_new_endpoint_not_in_v1. Это означает, что для сохранения исправлений нет необходимости в том, чтобы какой-либо из двоичных файлов более старых версий был затронут, что уменьшает вероятность того, что какой-либо разработчик случайно нарушит обратную совместимость для наших клиентов.
Однако я не могу понять, как настроить Swashbuckle для просмотра этих виртуальных каталогов, чтобы обработать контроллеры/действия и комментарии XML. Параметр конфигурации MultipleApiVersions кажется более нацеленным на людей, которые бросают все поддерживаемые версии в один набор двоичных файлов (либо по именам, либо по именам контроллеров), а не путем разделения их на отдельные процессы.
Любые предложения относительно того, как я могу согнуть Swashbuckle по своему желанию? Должен ли я просто устанавливать Swashbuckle в отдельные виртуальные каталоги как отдельные версии API, поэтому документы становятся чем-то вроде https://myapi.com/v1/swagger? Мой портал затем выполнит необходимую работу, чтобы разоблачить различные версии API.
Update
Я попробовать последний подход, и для документации, по крайней мере, он хорошо работает. Проблема в том, что URL-адрес для спецификации Swagger затем становится https://myapi.com/v1/swagger/docs/v1, и я бы предпочел не иметь этот второй v1 в URL-адресе. К сожалению, Swaashbuckle по крайней мере ожидает, что номер версии находится в относительном пути, а не в базовом URL-адресе.
Вы посмотрели мой ответ? Подумайте о том, чтобы обозначить его как решение, если оно помогло. – bsoulier