Plataforma open source de facturación por uso que mide eventos, aplica precios y créditos, y genera facturas y cobros.
99designs/gqlgen
Una biblioteca de Go que genera código de servidor GraphQL con seguridad de tipos a partir de una definición GraphQL basada en el esquema.
- Estrellas
- 10,767
- Forks
- 1,262
- Issues abiertos
- 396
- Último commit
- hace 13 horas
¿Qué es?
gqlgen es una biblioteca de Go para crear servidores GraphQL. Defines la API con GraphQL Schema Definition Language y gqlgen genera los tipos de Go y las interfaces de resolver que necesitas, para que escribas la lógica de negocio mientras la herramienta genera el código repetitivo. El código generado tiene tipos en todas sus partes, en lugar de depender de map[string]interface{}.
El proyecto funciona mediante el flujo de trabajo go generate y se integra con la cadena de herramientas de Go a través de dependencias de herramientas. La configuración se hace en un archivo gqlgen.yml, donde puedes asociar tipos de GraphQL con structs de Go existentes, exigir resolvers para campos específicos y cambiar la representación de los ID, por ejemplo, a int o string. Los resolvers de campos pueden ejecutarse de forma concurrente y el grado de concurrencia se controla con el ajuste worker_limit.
El repositorio también incluye una página que compara sus funciones con las de otras implementaciones de GraphQL para Go, además de un tutorial de inicio, documentación de referencia en pkg.go.dev y aplicaciones de ejemplo.
Funciones clave
- 01Desarrollo basado en el esquema: define la API en GraphQL SDL y genera código a partir de ella.
- 02Genera modelos de Go tipados e interfaces de resolver, sin recurrir a mapas sin tipos.
- 03Asocia tipos de GraphQL con structs de Go existentes mediante gqlgen.yml o directivas.
- 04Permite exigir resolvers para campos específicos y así evitar obtener datos de campos secundarios que no se usan.
- 05Permite configurar la correspondencia del tipo ID entre int, uint y string.
- 06Ejecución concurrente de los resolvers de campos con un límite de workers configurable.
Casos de uso
- Crear un backend de API GraphQL en Go cuando la seguridad de tipos es una prioridad.
- Añadir una capa GraphQL sobre structs y modelos de datos existentes en Go.
- Equipos que prefieren diseñar primero el esquema de la API y generar a partir de él el código del servidor.
Inicio rápido
- 1
Crea y accede a un nuevo directorio de módulo de Go
mkdir example cd example go mod init example - 2
Añade gqlgen como dependencia de herramientas
go get -tool github.com/99designs/gqlgen - 3
Inicializa la configuración de gqlgen y genera los modelos
go tool gqlgen init - 4
Inicia el servidor GraphQL
go run server.go
Antes de usarlo
- Requiere tener Go instalado y es una biblioteca exclusiva para servidores Go.
- El diseño basado en esquemas implica que debes escribir el esquema GraphQL y los resolvers por tu cuenta.
Temas
Preguntas frecuentes
- ¿Qué es gqlgen?
- Una biblioteca de Go que genera código de servidor GraphQL con seguridad de tipos a partir de una definición GraphQL basada en el esquema. gqlgen es una biblioteca de Go para crear servidores GraphQL. Defines la API con GraphQL Schema Definition Language y gqlgen genera los tipos de Go y las interfaces de resolver que necesitas, para que escribas la lógica de negocio mientras la herramienta genera el código repetitivo. El código generado tiene tipos en todas sus partes, en lugar de depender de map[string]interface{}.
- ¿gqlgen es gratuito? ¿Qué licencia tiene?
- gqlgen es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿gqlgen sigue mantenido?
- Mantenimiento activo. El último commit de gqlgen fue el 21 oct 2026.
- ¿Para qué puedo usar gqlgen?
- Crear un backend de API GraphQL en Go cuando la seguridad de tipos es una prioridad. Añadir una capa GraphQL sobre structs y modelos de datos existentes en Go. Equipos que prefieren diseñar primero el esquema de la API y generar a partir de él el código del servidor.
- ¿Cómo se instala gqlgen?
- Crea y accede a un nuevo directorio de módulo de Go: mkdir example cd example go mod init example Añade gqlgen como dependencia de herramientas: go get -tool github.com/99designs/gqlgen Inicializa la configuración de gqlgen y genera los modelos: go tool gqlgen init Inicia el servidor GraphQL: go run server.go
- ¿Dónde consigo gqlgen?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/99designs/gqlgen
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Backend open source para Node.js que ofrece API REST y GraphQL, autenticación de usuarios, almacenamiento de archivos y notificaciones push con MongoDB o PostgreSQL.
Alternativa de código abierto a Firebase basada en PostgreSQL, con API GraphQL instantánea, autenticación, almacenamiento y funciones serverless.
Servicio de API en Go para poesía clásica china, con endpoints REST y GraphQL sobre un corpus de casi 400.000 poemas en chino simplificado y tradicional.
Servidor independiente que convierte cualquier base de datos PostgreSQL existente en una API RESTful, sin necesidad de escribir código de backend.
Un runtime de Rust para componer, descubrir y rastrear servicios, workers, colas, tareas cron y agentes mediante un catálogo de funciones en vivo.