【问题标题】:Contentful GraphQL endpoint: how to retrieve all entries of a content type内容丰富的 GraphQL 端点:如何检索内容类型的所有条目
【发布时间】:2020-09-24 23:25:17
【问题描述】:
{
  Post {
      name
  }
}

在尝试检索内容类型的所有条目时,它只会给出以下错误:

"Argument \"id\" of required type \"String!\" was not provided."

因为id 字段是必需的。那么如何获取一个内容类型的所有条目呢?

参考:https://www.contentful.com/developers/docs/references/graphql/

【问题讨论】:

    标签: graphql contentful


    【解决方案1】:

    来自文档here

    生成的 Query 对象公开了两个字段,可用于查询该类型的内容:一个用于获取单个内容文档(在示例中为friendlyUser),另一个用于查询该类型的所有内容(@987654325 @)。

    因此,对于要检索所有条目的任何资源,您需要在其 id 末尾附加 Collection,然后使用 items 字段检索所有条目。如:

    {
      PostCollection {
          items {
              name
          }
      }
    }
    

    除了文档,您还可以在此处查看相应 GraphiQL 实例的所有可用资源,这可能非常有用:

    https://graphql.contentful.com/content/v1/spaces/{SPACE_ID}/explore?access_token={ACCESS_TOKEN}

    搜索或选择Query 以查看所有架构:

    【讨论】:

      【解决方案2】:

      查询单个id

      我想你可以在 GraphQL playgound 中试试这个 http://localhost:8000/___graphql

      query PostById($id: String!) {
        contentfulPost(id: { eq: $id }) {
          name
        }
      }
      

      并添加一个查询变量

      {
        "id": "my-awesome-id"
      }
      

      查询所有Posts

      那么我如何获得一个内容类型的所有条目呢?

      在 GraphQL 操场上,你应该可以做这样的事情

      {
        allContentfulPost {
          nodes {
            name
          }
        }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-11
        • 2022-08-07
        • 2021-07-15
        • 2021-07-17
        • 1970-01-01
        • 2023-03-05
        • 2020-04-20
        • 1970-01-01
        相关资源
        最近更新 更多