JSON响应不包含特定类的嵌套内容

时间:2019-01-26 12:14:59

标签: c# nested cloud kentico kentico-cloud

我正在使用KenticoCloud DeliveryClient与Kentico Cloud一起工作。 问题是我正在加载NewsArticle的数据,其中包括BodyContent。 BodyContent具有一些应该由解析程序解析的InlineContentItemData。 我添加了PartnerList(包含多个Partner项目的项目),Carousel(包含多个ImageGridItem项目的项目)和一些HTML文本。

以下是发出请求的代码:

var response = await Client.GetItemsAsync<NewsArticle>(
    new EqualsFilter("system.type", "news_article"),
    new OrderParameter("elements.date", SortOrder.Descending)
);

(这是获取文章的完整列表,然后我们找到所需的文章。我知道我可以使用Url Slug来检索内容,但是我需要其他内容的完整列表)

问题是,在JSON响应中,有Carousel和PartnerList项,它们都包含我从CMS添加的项,但是单个Carousel项(ImageGridItem)不在JSON中显示,只有伙伴项。

谢谢

1 个答案:

答案 0 :(得分:2)

此行为可能有多种原因。我假设您使用的是String based rendering of items in Rich textcode first approach,所以您应该同时定义ICodeFirstTypeProvider implementationthe resolvers

可能的解决方案:

  1. 检查在指向ICodeFirstTypeProvider类的Partner实现中正确定义了代号。
  2. 您还可以尝试使用数据的DepthParameter to force deeper loading,但是由于检索到了各个“轮播”项目并且它们处于相同的深度级别,因此不太可能解决该问题。

如果任何假设是错误的,请告诉我。如果您愿意为正在加载的所有内容类型共享ICodeFirstTypeProvider的实现和IInlineContentItemsResolver的实现。

如果您想直接从项目中调试SDK并自行找到原因,则可以使用use the SourceLink