Правило состоит в том, что все "листовые" поля в запросе GraphQL должны быть Scalar
что-то вроде Int
, Boolean
, String
et c. Таким образом, если поле meuns
в типе root Query
имеет тип Scalar
, это допустимый запрос, который вернет вам что-то.
Если нет, вам придется продолжить навигацию по Menu
введите и выберите поля, которые вы хотите включить в запрос GraphQL, например:
{
menus {
id
createdDate
}
}
Не существует подстановочного знака, который может представлять все поля в текущем GraphQL spe c. Вы должны явно объявить все поля, которые вы хотите выбрать в запросе. Просматривая схему GraphQL, вы можете узнать доступные поля для каждого типа. Одним из советов является использование системы интроспекции GraphQL . В основном это означает, что вы можете использовать некоторые из клиентов GraphQL, такие как Altair , Graphiql или GraphQL Playground et c. У большинства из них есть функция автоматического предложения, которая поможет вам составить запрос, предложив вам, какие поля доступны для включения в тип.
PS Аналогия с SQL в том, что нет select * from foo
, вы должны явно определить столбцы, которые вы хотите выбрать в предложении выбора, такие как select id,name,address from foo
.