Получение GraphQl __schema для GitHub - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь получить схему для GitHub, используя get-graphql-schema, но получаю ошибку: -

# npm install -g get-graphql-schema
# get-graphql-schema https://api.github.com/graphql

*TypeError: Cannot read property '__schema' of undefined
  at Object.buildClientSchema 
  (C:\Users\Aaron\AppData\Roaming\npm\node_modules\get-graphql-schema\node_modules\graphql\utilities\buildClientSchema.js:48:43)*

Я получаю то же самое для Facebook, я не уверен, что это потому, что они нене выдает схемы или имеет ошибку get-graphql-schema .

Как программно получить схему с использованием GraphQl обычно в проводнике GraphiQL?

1 Ответ

0 голосов
/ 23 июня 2018

Хорошо, вот сценарий GraphQL, который программно запрашивает запись __schema: -

  query IntrospectionQuery {
    __schema {
      queryType { name }
      mutationType { name }
      subscriptionType { name }
      types {
        ...FullType
      }
      directives {
        name
        description
        args {
          ...InputValue
        }
        onOperation
        onFragment
        onField
      }
    }
  }

  fragment FullType on __Type {
    kind
    name
    description
    fields(includeDeprecated: true) {
      name
      description
      args {
        ...InputValue
      }
      type {
        ...TypeRef
      }
      isDeprecated
      deprecationReason
    }
    inputFields {
      ...InputValue
    }
    interfaces {
      ...TypeRef
    }
    enumValues(includeDeprecated: true) {
      name
      description
      isDeprecated
      deprecationReason
    }
    possibleTypes {
      ...TypeRef
    }
  }

  fragment InputValue on __InputValue {
    name
    description
    type { ...TypeRef }
    defaultValue
  }

  fragment TypeRef on __Type {
    kind
    name
    ofType {
      kind
      name
      ofType {
        kind
        name
        ofType {
          kind
          name
        }
      }
    }
  }

https://gist.github.com/AaronNGray/c873c093f7015389cd7358d7270e1e1e

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...