Это третья часть из пяти вводных статей о GraphQL и Apollo. Вы можете прочитать первую часть здесь, а вторую часть здесь. Я надеюсь, что к концу вы почувствуете себя комфортно с основополагающими концепциями GraphQL, а также с некоторыми практическими знаниями о создании сервера GraphQL. Если у вас есть отзывы, оставьте комментарий!
Сегодня мы рассмотрим следующую часть уравнения запроса — мутации.
В предложении:
Мутации — это запросы GraphQL, которые выполняют операцию записи, а затем выборки на сервере, что позволяет вам создавать или изменять базовые данные.
На самом деле в мутациях не так много всего. Они очень похожи на запросы, которые мы рассматривали ранее. Вот пример:
mutation { createUser(name: "Timothy Voice", email: "[email protected]") { id name } }
Вместо того, чтобы использовать ключ query (или полностью исключить его по умолчанию), мы сообщаем нашему серверу, что хотим выполнить операцию мутации.
Поскольку мутации — это операции записи и затем выборки (запросы — это просто операции выборки), наша мутация вернет данные вновь созданного пользователя с полями id и имя.
{ "data": { "createUser": { "id": "123", "name": "Timothy Voice" } } }
Тяжелая работа выполняется на сервере, где вы определяете конкретную операцию, которая будет выполняться вашей мутацией. Мы увидим это в действии в следующем сегменте схем и серверов GraphQL в четвертой части.
Ресурсы:
Apollo Mutations: http://docs.apollostack.com/apollo-client/mutations.html