Swashbuckle/Swagger .NET 核心字典<int, MyModel>

Swashbuckle/Swagger .NET Core Dictionary<int, MyModel>

我在使用 Swashbuckle 为 returns 包含 属性 的自定义类型生成 Swagger 文档时遇到一些问题,属性 是一个值为 IEnumerable 的字典。

public class MyReturnModel
{
    public IDictionary<int, IEnumerable<MyModel>> Data { get; set;}

    public MyReturnModel()
    {
        Data = new Dictionary<int, IEnumerable<MyModel>>();
    }
}

public class MyModel
{
    public int Value { get; set; }
}

如果我有一个像这样的 API 端点:

[ProducesResponseType(typeof(MyReturnModel), (int)HttpStatusCode.OK)]
[HttpGet]
public async Task<IActionResult> GetAsync()
{
    var myReturn = await MyReturnModelRepository.GetAsync();
    return Ok(myReturn);
}

Swagger UI 我可以看到显示响应类型如下:

MyReturnModel {
data (inline_model, optional)
}
inline_model {}

如何让 Swagger gen 生成集合和内部模型的文档?

答案是我使用的是 1.2.0 版的 Swashbuckle。更新到版本 2.0.0 解决了这个问题。