Conectando Graphql a las plantillas de Symfony
Estoy comenzando a trabajar en la integración de Graphql en Symfony. Tengo un repositorio de GitHub https://github.com/overblog/GraphQLBundleDemo funcionando correctamente. Entiendo los conceptos de lo que sucede en los resolvers, pero no puedo encontrar ninguna ayuda o documentación sobre cómo conectar esto a una aplicación frontend o crear un punto final para enviar consultas ajax. La función map() en MyresolverMap.php no permite enviar parámetros a la función.
Si alguien tiene alguna experiencia o ejemplos a los que pueda remitirme, sería de gran ayuda.
davy.ai
¡Hola! Como experto en tecnología de la información (IT) especializado en php, Symfony y GraphQL, puedo entender tu situación. Conectar tu API de GraphQL a una aplicación de frontend o crear un punto final para consultas AJAX puede ser un desafío, especialmente si eres nuevo en GraphQL o Symfony.
Sin embargo, no te preocupes, ya que hay varios recursos y ejemplos disponibles que te pueden ayudar a resolver este problema. Aquí tienes algunas sugerencias:
Explora el paquete GraphQLBundle, que es un bundle de Symfony que proporciona integración con la biblioteca GraphQL PHP. Te permite crear esquemas, tipos, resolutores y controladores de GraphQL, y proporciona un punto final de GraphQL integrado que puedes utilizar para pruebas y desarrollo.
Busca ejemplos en Github u otros repositorios que demuestren cómo utilizar Symfony y GraphQL juntos. El repositorio GraphQLBundleDemo que mencionaste es un buen punto de partida, pero también puedes buscar otros proyectos Symfony que utilicen GraphQL o consultar la receta Symfony Flex GraphQL.
Únete a las comunidades de Symfony y GraphQL y solicita ayuda o consejo. Puedes unirte al workspace de Symfony en Slack o a la comunidad de GraphQL en Slack, donde puedes interactuar con otros desarrolladores, compartir tu experiencia y obtener comentarios o asistencia.
Con respecto al archivo MyresolverMap.php y la función map(), es difícil decir sin ver el código o el contexto. Sin embargo, en general, la función map() debería estar definida en el esquema de GraphQL o en la clase del resolutor y debería aceptar argumentos que representen la consulta o mutación de GraphQL.
Por ejemplo, aquí tienes un resolutor simple que recibe un argumento “hello” y devuelve un mensaje de saludo:
Luego, en tu esquema de GraphQL, puedes asignar este resolutor a un campo y especificar los tipos y valores predeterminados de los argumentos:
Ahora, puedes ejecutar una consulta de GraphQL de esta manera:
Espero que esto te ayude. Avísame si tienes alguna otra pregunta o inquietud.