Buenos días, tardes o noches hoy les vengo a hablar de una herramienta que cualquier programador web debería conocer.
Como ya habéis podido deducir por el titulo hablo de Prisma y GraphQL una de las mejores formas de hoy en día de realizar peticiones a tu BBDD y tratar la información.
¿Qué hay de malo en REST? Nada en su concepción inicial y en el contexto dónde surgió, pero desde que fuera definido la forma de interactuar con las APIs ha cambiado.
En resumen que el tiempo sigue su curso y nada ni nadie vive eternamente, eso es lo que le está pasando a REST, y su predecesor GraphQL es una opción muy a tener en cuanta.
En este blog no vamos a hablar de las ventajas de una frente a la otra sinos que me voy a centrar en explicar que es Prisma y como aplicarlo en GraphQL.
Vamos a ello:
Si entramos en la página de Prisma podremos ver un botón grande donde nos ofrece la maravillosa posibilidad de empezar con el, haced click en el no os arrepentiréis. Nos dará una pequeña guía para instalarlo es muy sencillo tan solo seguir los pasos y es imposible que os perdáis. Para instalar Prisma en local se requiere de tener un servidor Docker, igualmente en su página oficial os dicen como instalarlo son dos pasos no me seáis perezosos.
Una vez instalado todo nos quedara una carpeta Prisma con tres, vamos a verlos y explicarlos:
Uno de ellos será docker-compose.yml donde definiremos el tipo de BBDD que vayamos utilizar, MySQL, PostgesSQL o MongoDB, en el cuarto paso ya nos dan el código necesario para tener una configuración básica, en pocas palabrás le estamos indicando que base de datos vamos a usar, en que puerto queremos usar y el usuario y la contraseña que hayamos definido en la BBDD para que el servidor de Prisma pueda acceder, obviamente.
El siguiente que veremos será prisma.yml donde definiremos donde nos va a generar la carpeta con todas las relaciones que nos va a crear Prisma al ejecutar prisma generate
Y el último es datamodel.prisma, donde nosotros definiremos los esquemas de nuestra BBDD con sus elementos y sus relaciones algo tal que así:
type User {
id: ID! @unique
name: String!
}
Una vez lo tengamos todo, si realizamos el comando prisma deploy nos creará un todas las posibles combinaciones que puedan existir para manipular la información que hemos definido. Ja sea listar, crear, borrar, o modificas.
Y como relacionamos esto con GraphQL?? Muy simple El servidor que hemos montado con Prisma en un servidor Docker nos ha creado un GraphQL servidor donde nosotros atacaremos, pero primero paso por paso, eso lo veremos en otro blog.
Ahora si entramos en la ruta localhost:4466(el puerto que nos ha establecido por defecto), podremos ver un panel de control de GraphQL, llamado GraphiQL, es muy simple, a la izquierda es donde nosotros escribiremos nuestras consultas, y al darle al botón del centro veremos los resultados a la derecha. Vamos a hacer nuestra primera Query, tan solo escribid esto en el recuadro de la izquierda.
query users {
users {
id
name
}
}
Al darle al botón de play veremos que nos devuelve un array vacio, eso es porque aún no tenemos información en nuestra BBDD, para ello debemos ejecutar una Mutation.
mutation createUser($data: userCreateInput!) {
createUser(data: $data) {
name
}
}
Y ahora en la ventana de abajo a la izquierda haced click en query variables y escribid esto.
{
"data": {
"name": "Alejandro"
}
}
Ahora al darle a play veremos que nos ha creado el usuario de nombre Alejandro, así de simple.
Si hacéis click en el botón de la derecha "DOCS" podréis ver una lista de todas las posibles operaciones que podéis realizar con los esquemas que hemos definido.
Eso es todo por hoy, dentro de poco hablaré de temas más complicados, como usar prisma en el el backend de nuestra aplicación moleculer o primero que nada que es moleculer?
Hasta otra!!
Comentarios
Publicar un comentario