Repolode
99designs

99designs/gqlgen

Biblioteca Go que gera código tipado para servidores GraphQL a partir de uma definição GraphQL orientada por schema.

Estrelas
10,767
Forks
1,262
Issues abertas
396
Último commit
há 13 horas

O que é?

gqlgen é uma biblioteca Go para criar servidores GraphQL. Você define a API usando a GraphQL Schema Definition Language, e o gqlgen gera os tipos Go e as interfaces de resolver necessárias. Assim, você escreve a lógica de negócio enquanto o código boilerplate é gerado para você. Todo o código gerado é tipado, sem depender de map[string]interface{}.

O projeto funciona com o fluxo de trabalho go generate e se integra à toolchain do Go por meio de dependências de ferramentas. A configuração é feita em um arquivo gqlgen.yml, no qual você pode mapear tipos GraphQL para structs Go existentes, exigir resolvers para campos específicos e alterar a representação de IDs, por exemplo, para int ou string. Os resolvers de campos podem ser executados em paralelo, com o nível de concorrência controlado pela configuração worker_limit.

O repositório também inclui uma página que compara recursos com outras implementações GraphQL em Go, além de um tutorial para começar, documentação de referência no pkg.go.dev e aplicações de exemplo.

Recursos principais

  • 01Desenvolvimento orientado por schema: defina a API em GraphQL SDL e gere código a partir dela.
  • 02Gera modelos Go tipados e interfaces de resolver, evitando maps sem tipo.
  • 03Mapeia tipos GraphQL para structs Go existentes usando gqlgen.yml ou diretivas.
  • 04Permite exigir resolvers para campos específicos e evitar buscar dados de campos filhos que não serão usados.
  • 05Mapeamento configurável do tipo de ID entre int, uint e string.
  • 06Execução concorrente de resolvers de campos com limite de workers configurável.

Casos de uso

  • Criar um backend de API GraphQL em Go quando a segurança de tipos é prioritária.
  • Adicionar uma camada GraphQL sobre structs e modelos de dados Go existentes.
  • Atender equipes que preferem definir primeiro o schema da API e gerar o código do servidor a partir dele.

Início rápido

  1. 1

    Crie e acesse um novo diretório de módulo Go

    mkdir example cd example go mod init example
  2. 2

    Adicione gqlgen como dependência de ferramenta

    go get -tool github.com/99designs/gqlgen
  3. 3

    Inicialize a configuração do gqlgen e gere os modelos

    go tool gqlgen init
  4. 4

    Inicie o servidor GraphQL

    go run server.go

Antes de usar

  • Requer que Go esteja instalado e é uma biblioteca exclusiva para servidores Go.
  • O design schema-first significa que você precisa escrever o schema GraphQL e os resolvers por conta própria.

Tópicos

Perguntas frequentes

O que é gqlgen?
Biblioteca Go que gera código tipado para servidores GraphQL a partir de uma definição GraphQL orientada por schema. gqlgen é uma biblioteca Go para criar servidores GraphQL. Você define a API usando a GraphQL Schema Definition Language, e o gqlgen gera os tipos Go e as interfaces de resolver necessárias. Assim, você escreve a lógica de negócio enquanto o código boilerplate é gerado para você. Todo o código gerado é tipado, sem depender de map[string]interface{}.
gqlgen é gratuito? Qual é a licença?
gqlgen é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
gqlgen ainda é mantido?
Manutenção ativa. O último commit de gqlgen foi em 21 de out. de 2026.
Para que posso usar gqlgen?
Criar um backend de API GraphQL em Go quando a segurança de tipos é prioritária. Adicionar uma camada GraphQL sobre structs e modelos de dados Go existentes. Atender equipes que preferem definir primeiro o schema da API e gerar o código do servidor a partir dele.
Como instalar gqlgen?
Crie e acesse um novo diretório de módulo Go: mkdir example cd example go mod init example Adicione gqlgen como dependência de ferramenta: go get -tool github.com/99designs/gqlgen Inicialize a configuração do gqlgen e gere os modelos: go tool gqlgen init Inicie o servidor GraphQL: go run server.go
Onde consigo gqlgen?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/99designs/gqlgen

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados