Пользовательские классы в документах Swashbuckle - PullRequest
0 голосов
/ 13 июня 2019

В настоящее время я использую Swashbuckle для успешного документирования моего API для большинства моих методов.

Однако один из моих методов API написан так, чтобы принимать базовый класс для сообщений запроса, а затем внутренне с помощью динамического ключевого слова вызывать конкретный частный метод для обработки конкретной унаследованной версии:

public async Task<IActionResult> PostEvent([FromBody] DomainEvent @event,
                                           CancellationToken cancellationToken)
{
    await this.HandleSpecificDomainEvent((dynamic)domainEvent, cancellationToken);

    return this.Ok();
}

private async Task HandleSpecificDomainEvent(EventType1 domainEvent,
                                             CancellationToken cancellationToken)
{
    // Do something here
}

Это означает, что когда Swashbuckle документирует этот метод, он документирует только базовый класс DomainEvent.

Есть ли способ (либо конфигурация, либо тегирование унаследованных классов), чтобы я мог получить определения унаследованных классов, которые будут включены в сгенерированную документацию Swagger, без необходимости добавлять метод контроллера для каждого типа.

...