
Django & GraphQL
GraphQL com Django, Strawberry/Graphene, schema, queries, mutations, subscriptions, autenticação, DataLoader, problema N+1
1O que é GraphQL e qual é a sua principal diferença em relação ao REST?
O que é GraphQL e qual é a sua principal diferença em relação ao REST?
Resposta
GraphQL é uma linguagem de consulta para APIs desenvolvida pelo Facebook. Ao contrário do REST, que expõe múltiplos endpoints que retornam estruturas de dados fixas, o GraphQL usa um único endpoint que permite ao cliente especificar exatamente os dados de que precisa. Isso resolve os problemas de over-fetching (receber dados em excesso) e under-fetching (ter que fazer várias requisições) comuns no REST.
2Quais são as duas principais bibliotecas GraphQL disponíveis para Django?
Quais são as duas principais bibliotecas GraphQL disponíveis para Django?
Resposta
Strawberry e Graphene-Django são as duas principais bibliotecas GraphQL para Django. O Graphene-Django é mais maduro e amplamente adotado, usando uma sintaxe baseada em classes. O Strawberry é mais moderno, usa type hints nativos do Python e oferece melhor integração com ferramentas de tipagem. O Strawberry é recomendado para novos projetos devido à sua sintaxe mais pythônica e ao suporte nativo a async.
3Como definir um tipo GraphQL simples com Strawberry para representar um modelo User do Django?
Como definir um tipo GraphQL simples com Strawberry para representar um modelo User do Django?
Resposta
Com o Strawberry, o decorador @strawberry.type é usado em uma classe dataclass para definir um tipo GraphQL. Os campos são declarados com type hints padrão do Python (str, int, etc.). Essa abordagem aproveita o sistema de tipagem nativo do Python, tornando o código mais legível e permitindo melhor integração com IDEs e ferramentas de verificação de tipos como o mypy.
O que é um resolver no GraphQL e qual é o seu papel?
Qual é a diferença entre uma Query e uma Mutation no GraphQL?
+21 perguntas de entrevista
Outros temas de entrevista Django
Fundamentos de Python
Python orientado a objetos
Fundamentos do Django
Models Django - Fundamentos
Views do Django
Templates Django
Formulários Django
QuerySets avançados
Autenticação no Django
Middleware do Django
Django Admin
Django REST Framework
Sinais do Django
Upload de arquivos
Cache do Django
Sessões do Django
Email no Django
Testes no Django
Segurança do Django
Implantação do Django
Django ORM avançado
Desempenho do Django
Django & Celery
Django Channels
Django & Docker
Django em um ecossistema de microsserviços
Comandos personalizados do Django
Internacionalização no Django
Padrões de Projeto no Django
Django Async e ASGI
Settings e configuração de produção
Observabilidade e monitoramento
Domine Django para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis