Добавьте Swagger UI в пользовательский.NET Web API

Я хочу интегрировать Swagger UI в мой проект C# .Net Web API. Это отличается от традиционного проекта Web API, где вы можете установить инструмент, такой как SwashBuckle, который затем выбирает маршруты HTTP, определенные в ваших классах контроллера, и создает пользовательский интерфейс.

У меня есть пользовательская реализация, которая генерирует файлы yaml OpenAPI/Swagger 3.0 для разных маршрутов.

У меня есть маршрут, определенный в универсальном файле контроллера, который принимает переменную -

http://localhost:8000/myapp/swagger/{document_name}

где document_name является переменной. Мой код берет эту переменную и генерирует пользовательскую документацию на основе этого значения.

http://localhost:8000/myapp/swagger/sedan
http://localhost:8000/myapp/swagger/suv

В приведенном выше примере мой код вернул бы другую спецификацию Open API для sedan и suv.

На данный момент URL просто возвращает спецификацию YAML Open API 3.0 в виде простого текста. Я хочу, чтобы этот файл был представлен в интерфейсе Swagger следующим образом:

http://petstore.swagger.io/

Это возможно? Могу ли я использовать Swashbuckle для этого? Нужно ли делать пользовательскую реализацию для размещения пользовательского интерфейса Swagger? Какой лучший способ?

1 ответ

Если у вас уже есть файлы yaml OpenAPI/Swagger 3.0, все, что вам нужно, это пользовательский интерфейс, и у вас есть несколько вариантов:

Другие вопросы по тегам