Схема(Schema)

Схема Schema создается путем предоставления корневых(root) типов для каждого вида операции, запроса и опционально мутации. Далее схема передается в валидатор validator и исполнитель executor.

my_schema = Schema(
    query=MyRootQuery,
    mutation=MyRootMutation,
)

Типы

В некоторых случаях схема не может получить доступ ко все типам, которые мы планируем написать. Например, когда поле возвращает интерфейс Interface, схема может не знать о какой-либо его имплементации.

В таком случае, необходимо использовать аргумент types при создании схемы.

my_schema = Schema(
    query=MyRootQuery,
    types=[SomeExtraObjectType, ]
)

Выполнение запросов

Чтобы выполнить запрос к схеме, вызовите ее метод execute.

my_schema.execute('{ lastName }')

Автоматичекий CamelCase для имен полей

По дефолту все имена полей и аргументов (которые явно не заданы при помощи аргмента name) будут конвертированы из snake_case в camelCase (так как API обычно используется клиентом на js/mobile).

Пример с ObjectType:

class Person(graphene.ObjectType):
    last_name = graphene.String()
    other_name = graphene.String(name='_other_Name')

Имя поляlast_name конвертируется в lastName.

В случае, если вы не хотите применять данные изменения, передайте в конструктор поля Field аргумент name.

other_nameконвертируется в_other_Name(без каких-либо преобразований в будущем).

Ваш запрос будет выглядеть так:

{
    lastName
    _other_Name
}

Для отключения такого поведения, при инстанцировании схемы установите флагauto_camelcase в False.

my_schema = Schema(
    query=MyRootQuery,
    auto_camelcase=False,
)

results matching ""

    No results matching ""