В настоящее время я использую 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, без необходимости добавлять метод контроллера для каждого типа.