1. Casa
  2. Docs
  3. Documentación del desarrollador
  4. API
  5. Conceptos básicos de GraphQL

Conceptos básicos de GraphQL

Introducción

GraphQL es un lenguaje de consulta que utilizamos para nuestra API. La ventaja de usar GraphQL sobre otros métodos es que nos permite solicitar solo los datos que necesitamos. Todas las solicitudes se realizan a través de un único punto final enviando una cadena de consulta junto con variables para especificar exactamente qué datos se requieren.

Consultas y mutaciones

Las solicitudes se dividen en dos tipos: Consultas y Mutaciones. Por convención, las consultas se usan para solicitar datos, y las mutaciones se usan para escribir datos. Para ver cómo se estructuran las consultas y las mutaciones, veamos un ejemplo de consulta.

{user {xcoobee_id user_type first_name last_name}}

En este ejemplo, estamos consultando el campo de usuario y solicitando varios tipos de datos del usuario. Para obtener más información sobre GraphQL, visite la documentación. aquí.

XcooBee GraphQL

Hay ciertas características de nuestra implementación GraphQL que no se pueden encontrar en la documentación general. Veamos cuáles son esas características.

Cursores

Los cursores son referencias de objetos opacos que se pueden usar para referirse a cosas como abejas, usuarios y transacciones. A menudo se usan para paginación.

Conexiones

Usamos una conexión cuando queremos devolver algo que no sea un solo objeto. Por ejemplo, cuando queremos devolver múltiples usuarios de la consulta de usuarios, solicitamos el campo de datos de userConnection con los tipos de datos que necesitamos de esos usuarios. También podemos obtener información de paginación de las conexiones. los información de la página el campo devuelve un final_cursor y has_next_page.

Un final_cursor apunta al objeto final en una página. Se puede pasar al parámetro after para obtener la siguiente página de datos.
Nota: Este cursor solo se puede usar para paginación.

has_next_page le permite saber si hay otra página para solicitar.

Una conexión de usuario también puede volver cuenta total que le permite saber la cantidad total de objetos que se pueden devolver de una consulta. Esto puede permitirle determinar la cantidad de páginas sin tener que depender de has_next_page.

Ejemplo

Podemos ver cómo funcionan los cursores y las conexiones mirando un ejemplo de una consulta que usa ambos.

consulta saldos ($user_cursor: String! $first: Int) {balances (user_cursor: $user_cursor, first: $first) {data {type currency date} page_info {has_next_page}}}

En este ejemplo estamos usando usuario_cursor para referirse al usuario cuyo saldos estamos solicitando.

Estamos solicitando el campo de datos con los campos que estamos buscando: tipo, moneday fecha. También estamos solicitando información sobre si hay otra página para buscar.

Por ejemplo, si pasamos 5 En el primer argumento, devolveríamos hasta cinco saldos. Si un usuario tuviera cuatro saldos, se devolverían los primeros cuatro saldos y has_next_page Sería falso. En cambio, si un usuario tuviera seis saldos, se devolverían cinco saldos y has_next_page Volvería cierto.

¿Te ayudó este artículo? si 1 No 2

¿Cómo podemos ayudar?