代码之家  ›  专栏  ›  技术社区  ›  Steve McNiven-Scott

如何使用ServiceStack发送列表<T>?

  •  1
  • Steve McNiven-Scott  · 技术社区  · 1 年前

    所以这是我的DTO,当我调试时,我清楚地看到填充的角色列表。。。但在端点/RestApi/myroute中?format=json(或任何格式)没有任何内容。尝试将List更改为dto对象,相同的处理方式。

        public class PageItemDto {
    
        public Guid Id { get; set; }
        public Guid PageId { get; set; }
        public Guid ParentId { get; set; }
        public string Name { get; set; }
        public float Ordinal { get; set; } = 0.0f;
        public string RolesJson { get; set; }
    
        public List<string> Roles = new List<string>();
    }
    

    如果我这样做

    pageItem.RolesJson = ServiceStack.Text.JsonSerializer.SerializeToString(pageItem.Roles);
    

    RolesJson属性显示列表中应包含的内容。。。

    我在这里错过了什么,我发誓我已经发送了十亿次嵌套对象。

    1 回复  |  直到 1 年前
        1
  •  2
  •   mythz    1 年前

    只有 公共财产 默认情况下是序列化的,因此您的DTO应更改为:

    public class PageItem
    {
        public Guid Id { get; set; }
        public Guid PageId { get; set; }
        public Guid ParentId { get; set; }
        public string Name { get; set; }
        public float Ordinal { get; set; } = 0.0f;
        public string RolesJson { get; set; }
    
        public List<string> Roles { get; set; } = new List<string>();
    }