首页 > 解决方案 > 需要从 Contentful API 访问 3000 多个条目的 React 应用程序

问题描述

我试图一次访问超过默认的 1000 个条目。如何立即获得我需要的全部 3,091 个条目?

当我从 API 请求中记录“response.data”时,我可以在控制台中看到“limit”设置为 1000。但我不知道如何增加它。

获取请求:

 axios.get(`https://cdn.contentful.com/spaces/${keys.space}/entries?access_token=${keys.accessToken}&limit=1000`)

此处显示的控制台日志:

items: (1000) [{…}, {…}, {…}, {…},...]
limit: 1000
skip: 0
sys: {type: "Array"}
total: 3091

标签: node.jsreactjscontentful

解决方案


内容丰富的文档明确表示您一次最多可以请求 1000 个条目:

注意:API 返回的最大条目数为 1000。对于大于 1000 的值和非整数值,API 将抛出 BadRequestError。API 返回的默认条目数为 100。

https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters/limit

您需要利用他们的skip参数并发出 4 个请求。

page 1: skip=0, limit=1000 (entries 0-1000)
page 2: skip=1000, limit=1000 (entries 1000-2000)
page 3: skip=2000, limit=1000 (entries 2000-3000)
page 4: skip=3000, limit=1000 (entries 3000-...)

推荐阅读