我已经设置我的应用程序使用内容提供API使用内容提供API,现在当我意识到内容模型中每个字段的 fieldType 时,它仍然很有用API响应中缺少>。 我错过了什么吗?我将在下面提供有关API及其响应的更多详细信息 -
问题是,如果我不知道字段类型,我将不得不要求内容编写者坚持特定的模板和字段顺序,而不是在解析响应时动态呈现字段。
请帮忙!
答案 0 :(得分:0)
您没有在响应中获取字段类型,但确实获得了内容类型ID。您应该已经知道特定内容类型包含的字段类型。
可以在每个条目的sys.contentType.sys.id
属性中找到内容类型ID。使用此信息,您可以选择要呈现的模板。
如果您仍需要根据字段类型动态决定如何渲染,则必须求助typeof运算符来检查每个字段的类型。您可能会失去区分特定Contentful属性的可能性,因为它们都会以object
的形式返回。
您还可以调用内容类型端点以从Contentful API获取整个内容模型。 http://cdn.contentful.com/spaces/space-id/content_types/
这将为您提供每个内容类型包含的字段以及以下结构中每个字段的类型:
{
"sys": {
// sys properties
},
"displayField": "productName",
"name": "Product",
"description": null,
"fields": [
{
"id": "productName",
"name": "Product name",
"type": "Text",
"localized": true,
"required": true,
"disabled": false,
"omitted": false
},
{
"id": "slug",
"name": "Slug",
"type": "Symbol",
"localized": false,
"required": false,
"disabled": false,
"omitted": false
},
// further fields
]
}
这会导致多次API调用以获取您想要的信息。