我目前正在使用Swashbuckle来成功记录大多数方法的API。
但是,我的api方法之一被编写为接受请求消息的基类,然后在内部使用dynamic关键字调用特定的私有方法来处理特定的继承版本:
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文档中,而不必为每种类型都放入控制器方法。