Please use this identifier to cite or link to this item:
https://ric.cps.sp.gov.br/handle/123456789/42534| Title: | GraphQL em perspectiva: funcionamento, vantagens e limitações frente ao REST |
| Authors: | SILVA, Carlos Eduardo Oliveira FABRÍCIO, Gabriel Apolinário |
| Advisor: | PINTO, Claudemir Santos |
| type of document: | Monografia |
| Keywords: | Arquitetura de software;Análise de desempenho |
| Issue Date: | Dec-2025 |
| Publisher: | 106 |
| Citation: | 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. |
| Abstract: | 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 |
| Appears in Collections: | Trabalhos de Conclusão de Curso |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| analise_desenvolvimento_de_sistemas_2025_2_carlos_eduardo_oliveira_silva_graphql_em_perspectiva.pdf Restricted Access | 498.09 kB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.