# 2.1.2 GraphQL

Es desarrollado por Facebooky al igual que ODATA busca facilitar traer la información que realmente necesitas con un solo servicio.

Esta es la página oficial [https://graphql.org](https://graphql.org/) (en inglés) y también cuenta con esta página con videos en inglés donde explican como funciona <https://www.howtographql.com/>

Por lo general GraphQL se utiliza más con NodeJS. Si deseas saber mas de  GraphQL , NodeJS y mongoDB te recomiendo el siguiente curso (en inglés):

<https://academind.com/tutorials/graphql-with-node-react-full-app>

Puedes ver la presentación del microsoft build sobre graphql en inglés:

<https://www.youtube.com/watch?v=GsXGbUWEQzo>

La forma de consultar la información es mediante queries, con objetos JSON.

**Ejemplo:**

| Servicio REST                                                                                                                                      | Descripción                                                                                   |
| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| <p><em><http://localhost:5000></em>/api/graphql</p><p>?query={{ cliente(id: "10") { clave, nombre } }</p>                                          | Obtiene la clave y nombre del cliente 10                                                      |
| <p><em><http://localhost:5000></em>/api/graphql</p><p>?query={{ cliente(first:2) } }</p>                                                           | Obtiene los 2 primeros clientes                                                               |
| <p><em><http://localhost:5000></em>/api/graphql</p><p>?query={ <em>cliente</em>(id: "10") { clave,  nombre,   productos { clave,nombre }   } }</p> | Obtiene la clave y nombre del cliente 10, y la clave y nombre de los productos del cliente 10 |
