[Ошибка GraphQL]: Сообщение: неизвестный тип «postsConnection»., Местоположение: [объект объекта], Путь: не определено - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь использовать фрагменты для повторного использования моего кода GraphQL, но он не работает, хотя перед использованием фрагмента кода работает нормально.

Вот так выглядит мой код

fragments.js

import gql from 'graphql-tag';

export const postFragment = gql`
    fragment PostData on postsConnection {
        edges {
            node {
                id
                title
                date
                featuredImage {
                    sourceUrl
                }
            }
        }
    } `

это мой файл запросов query / posts.js

import gql from 'graphql-tag';
import {postFragment} from '../fragments';


export const getAllPosts = gql`
  query getAllPosts {
    posts {
      ...PostData
    }
  }
  ${postFragment}
`;

Это ошибка get

[Ошибка GraphQL]: Сообщение: неизвестный тип "postsConnection"., Местоположение: [объект Object], Путь: не определено

Как я могу это исправить?

1 Ответ

0 голосов
/ 03 января 2019

Из спецификации :

Фрагменты должны указывать тип, к которому они применяются ... Фрагменты нельзя указывать ни для какого входного значения (скаляр, перечисление или объект ввода). Фрагменты могут быть указаны для типов объектов, интерфейсов и объединений. Выборки внутри фрагментов возвращают значения только тогда, когда конкретный тип объекта, с которым он работает, совпадает с типом фрагмента.

Фрагмент должен указывать тип, к которому он применяется, и этот тип должен фактически существовать в вашей схеме. На основании ошибки, которую вы видите, postsConnection не является допустимым типом. Просмотрите документацию к вашей схеме или выполните запрос самоанализа, чтобы определить правильный тип поля posts.

Простой запрос самоанализа для получения имен и типов всех полей для типа запроса:

query GetQueryFields {
  __schema {
    queryType {
      fields {
        name
        type {
          name
          kind
        }
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...