web-dev-qa-db-ja.com

graphQLフラグメントをスキーマに追加し、すべてのクエリで利用できるようにします

以下はgraphiQLで正しく実行されます

fragment BookGridFields on Book {
  _id
  title
}

{
  allBooks {
    ...BookGridFields
  }
}

私の質問は、私のブックタイプが定義されている場所のすぐ下のスキーマでフラグメントを指定することが可能です。

type Book {
  _id: String
  title: String
  pages: Int
  weight: Float
  authors: [Author]
}

fragment BookGridFields on Book {
  _id
  title
}

このようなクエリを実行できるように

{
  allBooks {
    ...BookGridFields
  }
}

クエリの一部としてフラグメントを定義する必要はありません。

現在、上記のエラーは

不明なフラグメント「BookGridFields」

13
Adam Rackis

Graphqlのドキュメントによると、フラグメントはクエリAPIの一部であり、スキーマを設定するための有効な構文ではないことがわかります。これにより、現在、スキーマでフラグメントを指定することはできないと結論付けることができます。

https://graphql.org/learn/queries/#fragments

7
ericArbour