Entonces, la agregación es esta cosa donde, por ejemplo, si tengo tres APIs REST y tengo que obtener data que está relacionada con las tres, pero no quiero hacer llamadas a las tres APIs REST. Ahí es donde puedo simplemente agregarlas en una sola consulta y puedo obtener la respuesta.
Así que comencemos con esta tercera sección. Como dije antes, tenemos generación automática de esquemas. Pero ya sabes, siempre hay casos especiales o momentos en los que quieres tener tu propio esquema, así que eso también es compatible. Si te fijas, hay una pestaña de configuración aquí. Si abres esta pestaña, puedes ir a este archivo llamado gql1-gql.yaml, y todo esto ya está creado aquí para ti.
Así que aquí tenemos dos resolutores. Ambos son resolutores REST. Uno obtendrá los bloques para ti, se obtendrán todos los bloques, y otro obtendrá los comentarios de estas publicaciones de bloques. Y te das cuenta de que hay un ID de bloque que se da aquí con parent.id. Así que si te fijas aquí, tenemos esta cosa llamada comentarios. Y ahora, como sabes, un bloque puede tener varios comentarios, ¿verdad? Así que aquí tenemos una relación de uno a muchos definida, y esta cosa alrededor de este comentario, se llama lista. Si te fijas en esta definición de esquema, hay un tipo de bloque, ¿de acuerdo? Y te darás cuenta de que los comentarios están en este formato de lista, ¿de acuerdo? Y al lado, lo hemos resuelto para obtener comentarios, que se define aquí arriba, ¿de acuerdo?
Así que si lo resaltas, verás que esto se resuelve desde esta API REST. Ahora, lo que tenemos aquí es una relación de uno a muchos, como un bloque puede tener muchos comentarios, ¿verdad? Así que si tuvieras una API REST, probablemente tendrías que consultar primero los bloques, ¿de acuerdo? Luego, dentro de eso, tendrías que obtener todos los IDs de allí, y luego tendrías que enviar eso a los comentarios para obtener todas las respuestas, ¿verdad? Entonces, en GraphQL, solo defines el esquema. Dices que quiero el ID, el usuario, el título del contenido y los comentarios. Y el comentario es un tipo de comentario. Así que dentro de los comentarios, tienes estos campos, es el ID, usuario, comentarios. Entonces puedes solicitarle a GraphQL, por ejemplo, si solo quieres el ID del comentario, o si solo quieres un usuario de comentario que haya comentado esto, quieres obtener el número de comentarios o algo así, ¿verdad? Y también tienes un tipo de usuario que tiene un nombre de usuario, ¿de acuerdo? Así que todo lo que estoy explicando también está en el lado derecho, en caso de que sea un poco difícil entender algo, siempre puedes consultar el lado derecho.
Así que una vez que hayamos pasado por esto, en caso de que algo sea confuso, siempre puedes publicarlo en el cuadro de comentarios. No estoy seguro de si todos están usando la sección de preguntas y respuestas. Muy bien, y esta es la consulta. Entonces este es el tipo de consulta, básicamente este es tu punto de entrada. Así que lo aplicaremos ahora. Deberías obtener esta cosa que dice API GraphQL creada. Ahora, si obtienes la API GraphQL, deberíamos ver un nuevo blogs-graphql-definido. Y si te fijas, esto es lo que hemos enviado básicamente a GraphQL. Hemos definido nuestra propia API GraphQL. Ahora que hemos definido nuestra API GraphQL, vamos a definir el servicio virtual para ella. Como mencioné, todo tu servicio virtual es como un punto de entrada, o si quieres pensarlo en términos de Apache, es como un host virtual donde le dices qué URL, qué prefijo, etc.
Comments