Use este identificador para citar ou linkar para este item: https://ric.cps.sp.gov.br/handle/123456789/42534
Título: GraphQL em perspectiva: funcionamento, vantagens e limitações frente ao REST
Autor(es): SILVA, Carlos Eduardo Oliveira
FABRÍCIO, Gabriel Apolinário
Orientador(es): PINTO, Claudemir Santos
Tipo documental: Monografia
Palavras-chave: Arquitetura de software;Análise de desempenho
Data do documento: Dez-2025
Editor: 106
Referência Bibliográfica: SILVA, Carlos Eduardo Oliveira; FABRÍCIO, Gabriel Apolinário. GraphQL em Perspectiva: funcionamento, vantagens e limitações frente ao REST, 2025. Trabalho de Conclusão de Curso (Curso Superior de Tecnologia em Análise e desenvolvimento de sistemas) - Faculdade de Tecnologia Prof. João Mod. Guaratinguetá, 2025.
Resumo: GraphQL vai além de ser apenas uma linguagem de consulta; é um ambiente de execução completo para APIs que coloca o poder nas mãos do cliente, permitindo que ele solicite, em uma única requisição, exatamente os dados de que precisa. Esta monografia apresenta uma análise comparativa entre GraphQL e o consagrado modelo REST, examinando em profundidade seus conceitos, arquiteturas, vantagens, desvantagens e seus impactos no desenvolvimento e na operação de APIs. O trabalho inicia desvendando os pilares fundamentais do GraphQL, como schema, resolvers, queries, mutations e subscriptions, destacando o papel crucial do schema fortemente tipado, que funciona como um contrato claro entre cliente e servidor. Em seguida, a comparação entre GraphQL e REST é desenvolvida a partir de critérios decisivos: eficiência na obtenção de dados (evitando over-fetching e under-fetching), flexibilidade para o cliente, desempenho, consumo de rede e aspectos práticos como versionamento, estratégias de cache, tratamento de erros e curva de aprendizado. A análise também contempla o lado operacional, abordando temas como caching, proteção contra consultas maliciosas e o uso de padrões como DataLoader para otimização de desempenho. Por fim, o estudo não define um vencedor absoluto entre as abordagens. Em vez disso, oferece um guia pragmático para adoção incremental, discutindo modelos de coexistência, como BFF e gateways, e reunindo boas práticas para o design de schemas e resolvers. A conclusão reforça que a escolha entre REST e GraphQL é contextual: REST mantém vantagens em APIs simples e onde o cache HTTP é essencial, enquanto GraphQL se destaca em aplicações com interfaces complexas, multiplataforma e que demandam respostas altamente personalizadas. Assim, a decisão deve ser baseada nas necessidades de negócio, no perfil dos usuários e nas restrições operacionais de cada projeto.
GraphQL goes beyond being merely a query language; it is a complete API execution environment that empowers clients to request exactly the data they need in a single operation. This monograph presents a comparative analysis between GraphQL and the well-established REST model, examining in depth their concepts, architectures, advantages, disadvantages, and their impacts on API development and operation. The work begins by exploring the fundamental pillars of GraphQL, such as schema, resolvers, queries, mutations, and subscriptions, highlighting the crucial role of its strongly typed schema as a clear contract between client and server. The comparison between GraphQL and REST is then developed based on key criteria: data-retrieval efficiency (avoiding over-fetching and under-fetching), client flexibility, performance, network usage, and practical aspects including versioning, caching strategies, error handling, and learning curve. The analysis also considers operational aspects, addressing topics such as caching, protection against malicious queries, and the use of patterns like DataLoader to optimize performance. Rather than defining an absolute winner, the study offers a pragmatic guide for incremental adoption, discussing coexistence models, such as BFF and gateways, and compiling best practices for schema and resolver design. The conclusion reinforces that the choice between REST and GraphQL is contextual: REST remains advantageous for simpler APIs and scenarios where HTTP caching is essential, while GraphQL excels in applications with complex, multi-platform interfaces that require highly customized responses. Therefore, the decision should be guided by business needs, user profiles, and the operational constraints of each project.
URI: https://ric.cps.sp.gov.br/handle/123456789/42534
Aparece nas coleções:Trabalhos de Conclusão de Curso

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
analise_desenvolvimento_de_sistemas_2025_2_carlos_eduardo_oliveira_silva_graphql_em_perspectiva.pdf
  Restricted Access
498.09 kBAdobe PDFVisualizar/Abrir    Solictar uma cópia


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.