devterview_$ iniciar simulação

Over/underfetching: o que GraphQL resolve e o que ele custa

MédioPlenoTrade-offs vs REST

Pergunta

Como GraphQL ataca o over e o underfetching do REST, e qual novo problema o cliente ganha em troca?

Resposta esperada

Overfetching em REST: `GET /users/1` devolve 20 campos quando a tela usa 2. Underfetching: pra montar uma tela você chama `/users/1`, depois `/users/1/posts`, depois `/posts/*/comments` — várias idas. GraphQL: o cliente escreve uma query com exatamente os campos que quer, aninhando relações, e recebe tudo numa resposta. O que o cliente ganha de problema: o servidor perde o controle sobre o que é executado — uma query mal feita pode ser cara ou profunda demais (daí precisar de limites de custo/profundidade); erros parciais (parte do dado vem, parte falha) exigem tratamento; e o cliente passa a ter responsabilidade de não pedir demais. Não é 'melhor que REST', é um conjunto de trade-offs diferente.

Por que perguntam isso

Pergunta pleno. O bom sinal é fechar com 'trade-off diferente, não melhor' e citar os limites de custo como consequência.

#overfetching#underfetching#trade-offs
publicidade

Relacionadas