GraphQL es un poderoso lenguaje de consulta que permite a los clientes solicitar solo los datos que necesitan de un servidor. Le ayuda a aumentar la velocidad de las solicitudes, ya que puede personalizar las consultas para obtener solo datos específicos.
GraphQL tiene dos tipos de operaciones: consultas y mutaciones. A pesar de sus similitudes, sirven para propósitos bastante diferentes.
Diferencias entre consultas GraphQL y mutaciones
Las consultas y las mutaciones son similares en el sentido de que las usa para realizar solicitudes a API de GraphQL. Sin embargo, difieren en sintaxis, modo de ejecución y uso.
La sintaxis de consultas y mutaciones
La sintaxis básica de una consulta GraphQL es la siguiente:
consulta getProduct($id: ID!) {
producto (id: $id) {
nombre
precio
}
}
Esto es lo que significa este código:
- consulta es la palabra clave que identifica la solicitud como una consulta.
- getProduct es el nombre de la operación
- $id es la variable
- ¡IDENTIFICACIÓN! es el tipo de variable.
Si no necesita las variables, omítalas y defina la consulta de esta manera:
consulta obtenerProductos {
productos {
nombre
precio
}
}
En algunas situaciones, puede omitir la palabra clave y el nombre de la consulta, escribiendo una consulta GraphQL como esta:
productos {
nombre
precio
}
Si bien este formato funciona, usar la palabra clave de consulta es mejor para la legibilidad.
La sintaxis de las mutaciones es similar a las consultas excepto por el uso de la palabra clave mutación.
mutación AddNewProduct ($nombre: ¡Cadena!, $precio: ¡Número!) {
addProduct (nombre: $nombre, precio: $precio) {
nombre
precio
}
}
Diferentes modos de ejecución
Otra diferencia entre una consulta y una mutación es que las consultas se ejecutan en paralelo mientras que las mutaciones se ejecutan sincrónicamente. Cuando ejecutas dos mutaciones, se ejecutarán una tras otra, en orden
Usos contrastantes para consultas y mutaciones
Debe usar consultas solo para operaciones de LECTURA. Por ejemplo, use una consulta cuando obtenga productos de un punto final de API.
Utilice mutaciones para las operaciones CREAR, ACTUALIZAR y ELIMINAR. Estas son esencialmente operaciones que alteran los datos almacenados en la base de datos.
Por ejemplo, use una mutación al actualizar el nombre de un cliente a través de un punto final de pedidos.
Adquiera el hábito de usar consultas y mutaciones de manera adecuada
GraphQL es un poderoso lenguaje de consulta que le permite solicitar solo los datos que necesita. Hay dos operaciones que puede realizar en GraphQL: consultas y mutaciones.
Estas operaciones difieren en la sintaxis, la ejecución y los usos previstos. Debe usar consultas para operaciones de LECTURA y mutaciones para operaciones de CREAR, ACTUALIZAR y ELIMINAR.