Как я могу получить аргументы и типы мутаций graphql через самоанализ? - PullRequest
0 голосов
/ 01 апреля 2020

С помощью запроса самоанализа GraphQL, подобного следующему, я получаю все имена полей в типе мутации схемы GraphQL. Кроме того, я хотел бы получить аргументы и их типы. Как я могу запросить их дополнительно?

query {
  __schema {
    mutationType {
      name
      fields {
        name
      }
    }
  }
}

1 Ответ

1 голос
/ 01 апреля 2020
query {
  __schema {
    mutationType {
      name
      fields {
        name
        args {
          name
          defaultValue
          type {
            ...TypeRef
          }
        }
      }
    }
  }
}

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

Рекурсив ofType необходим для "разворачивания" любых типов оболочек (т.е. List и Non-Null). Вы можете посмотреть здесь для примера "полного" запроса на самоанализ. Вы также можете использовать функцию автозаполнения Graph i QL или GraphQL Playground, чтобы помочь вам писать подобные запросы.

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