首页 > 解决方案 > Swagger 的嵌套子列表问题

问题描述

我正在使用 .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; }
    }

当我在招摇页面上启动我的 Web 应用程序并解释我的 API 端点招摇给我这个错误

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:

问题是

公共 IEnumerable 孩子 { 得到;放; }

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

我怎样才能防止这种情况?

谢谢

标签: c#.netmodel-view-controllerswagger

解决方案


您的类型模型TaxonomyNode将类型TaxonomyNode称为属性。

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


推荐阅读