





GraphQL имеет система самоанализа, который позволяет вам запрашивать его схему. Вы можете создать запрос GraphQL, чтобы исследовать его типы.
Например, чтобы узнать все корневые поля запроса и мутации, вы можете POST следующего тела JSON на http://example.com/graphql с типом содержимого, установленным на application/json
{
"query" : "{__schema {queryType {name fields {name}}mutationType {name fields {name}}}}"
}
Или используя GET и поместив запрос GraphQL в параметр запроса query:
http://example.com/graphql/?query = {__schema {queryType {name fields {name}}mutationType {name fields {name}}}}
который вернет что-то лайк:
{
"data": {
"__schema": {
"queryType": {
"name": "Query",
"fields": [
{
"name": "searchFoo"
},
{
"name": "searchBar"
}
]
},
"mutationType": {
"name": "Mutation",
"fields": [
{
"name": "createFoo"
},
{
"name": "updateFoo"
}
]
}
}
}
Но гораздо более простой способ - использовать клиент GraphQL, такой как GraphiQL или Бессонница или ... который, скорее всего, предоставит вам интерактивный пользовательский интерфейс для изучения схемы GraphQL и имеет некоторую функцию автозаполнения / подсказки, которая поможет вам построить запрос GraphQL.
@xwlee Я больше хочу изучить существующую настройку graphQL.
Я пробовал в Почтальон, и он вернул POST body missing. Did you forget use body-parser middleware?
@ Volatil3. Не знаю, что происходит на вашем сервере. Я просто пробую использовать Postman на этом общедоступном GraphQL API https://graphql.brandfolder.com/graphql, и он работает.
@ Volatil3. Собственно, мы также можем отправить запрос GraphQL с помощью GET. посмотрите мое обновление и попробуйте использовать GET с http://zillow.com/graphql, и вы обнаружите, что они, похоже, не позволяют самоанализ ...
@KenChan Я попытался использовать Get и обнаружил ошибку GET query missing..
@ Volatil3. Вдруг разобрался, попробуй https://www.zillow.com/graphql/?query = {__schema%20{queryType%20{name%20fields%20{name}}mutationType%20{name%20fields%20{name}}}}. Я пробовал несколько раз, иногда работает, иногда нет .....
@KenChan Выдает ошибку "GraphQL introspection not allowed. Это не помогает мне знать фактическое, но спасибо за то, что разобрались.
Более простой способ - использовать Apollo Server, в который уже интегрирована игровая площадка GraphQL. apollographql.com/docs/apollo-server/features/…