【问题标题】:Issue for nested child list for SwaggerSwagger 的嵌套子列表问题
【发布时间】:2020-05-11 13:33:28
【问题描述】:

我正在使用 .NET Core 开发 Web api

我将 Swagger 用于 API 文档

对于一个端点,我有一个像这样的返回对象

    public class TaxonomyNode
    {
        public int Id { get; set; }

        public string Key { get; set; }

        public string Title { get; set; }

        public string ParentKey { get; set; }

        public bool HasAssociations { get; set; }

        public int Level { get; set; }

        public IEnumerable<TaxonomyNode> Children { get; set; }
    }

当我在 swagger 页面上启动我的 web 应用程序并解释我的 API 端点时,swagger 给我这个错误

Resolver error at paths./api/Taxonomies/{idTaxonomyItemDbMaster}/GetNodes.get.responses.200.content.application/json.schema.properties.children.items.$ref
Could not resolve reference:
Resolver error at paths./api/Taxonomies/{idTaxonomyItemDbMaster}/GetNodes.get.responses.200.content.text/json.schema.properties.children.items.$ref
Could not resolve reference:
Resolver error at paths./api/Taxonomies/{idTaxonomyItemDbMaster}/GetNodes.get.responses.200.content.text/plain.schema.properties.children.items.$ref
Could not resolve reference:

问题是

public IEnumerable Children { get;放; }

我认为在生成响应文档时,招摇会溢出

如何防止这种情况发生?

谢谢

【问题讨论】:

    标签: c# .net model-view-controller swagger


    【解决方案1】:

    TaxonomyNode 类型的模型将 TaxonomyNode 类型作为属性引用。

    因此,如果您希望序列化此类型,它将导致无限循环。 这是您遇到错误的原因

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      相关资源
      最近更新 更多