mirror of
https://github.com/vale981/apollo-server
synced 2025-03-11 21:46:39 -04:00
1.3 KiB
1.3 KiB
title | description |
---|---|
Mutations | Updating data the Apollo way |
Prerequisites
- A basic understanding of a GraphQL schema (Schema)
Overview
Mutations are operations sent to the server to create, update or delete data. Those familiar with REST-based communication verbs would associate these with the PUT
, POST
, PATCH
and DELETE
methods.
- Mutations are the main entry point to make updates to the data backing Queries
- Here is what one looks like coming from the client
- Here is the corresponding server schema
- A mutation can contain arguments and fields
- Input types are passed to Apollo Server and inform it how to make the update
- The fields describe the object that is returned by a mutation, often times the object that was created or the entire collection that was modified. Or a confirmation of deletion
- Here is what the return looks like from the previous mutation call
Actually writing resolvers for your mutations is found in server/mutations
Why mutations exist?
- Mutations exist because they have special argument types called Input types
- Input types only contain scalar types and cannot have any other input types
- ensures that data from the client is always serializable and we don't lose any information, since circular references don't survive network call