Как настроить запросы swagger в ASP.NET Core?

У меня есть настройка Swagger для приложения ASP.NET Core 2 MVC API. Я использую OpenIddict для OAuth, но хочу настроить отображение запросов и ответов в документации.

Поскольку метод в контроллере принимает OpenIdConnectRequest, сгенерированный вывод по умолчанию выглядит так:

введите здесь описание изображения

... и это продолжается и продолжается.

Это далеко от аккуратного JSON, необходимого для потребления клиентом, поскольку промежуточное ПО выполняет кучу работы между клиентом и методом контроллера.

Как изменить то, как Swagger представляет их? Я уже использую хак для массирования ответов с помощью пользовательского частного типа для ответов токена, поэтому любая помощь в том, как это использовать, также будет оценена. Я попытался использовать функцию SwaggerGenOptions.MapType<>, поскольку в документации утверждается, что Swagger сообщает, как сопоставить тип с пользовательским выводом. К сожалению, я не получил вывод Swagger, чтобы отразить что-либо, что я сделал с .MapType<>.

Чтобы было ясно, я не контролирую эти модели, поэтому я не могу украшать участников самостоятельно.

Обратите внимание, что это отличается от Как показать конечную точку токена WebApi OAuth в Чванство. Мое действие контроллера обнаружено нормально. К сожалению, я думаю, что может быть проще отфильтровать его и использовать в качестве еще одного обходного пути, чтобы определить его вручную, но я бы предпочел, если это возможно.


person Bigsby    schedule 14.12.2017    source источник
comment
Посмотрите на swashbuckle iDocumentFilter, с помощью которого вы можете манипулировать окончательным swagger json.   -  person Helder Sepulveda    schedule 31.12.2017