Erros parciais e o campo `errors` da resposta GraphQL
Pergunta
Diferente de REST, uma resposta GraphQL pode trazer `data` E `errors` ao mesmo tempo. Como você lida com isso no cliente e no schema?
Resposta esperada
Uma query GraphQL pode pedir vários campos; se o resolver de UM falha, o GraphQL retorna os outros em `data` e coloca o erro em `errors` (com o `path` do campo que falhou), geralmente com HTTP 200. O cliente NÃO pode assumir 'status 200 = tudo certo' — tem que checar `errors` e decidir por campo o que mostrar (o resto da tela ainda funciona). No schema, há duas escolas pra erros ESPERADOS de negócio (e-mail já usado, sem permissão): (1) deixar ir pro `errors` com um `extensions.code` pra o cliente ramificar; (2) modelar como parte do schema — um union type de retorno (`CreateUserResult = User | EmailTakenError | ...`) que força o cliente a tratar no próprio type system, reservando `errors` pra falhas realmente inesperadas (bug, timeout). A escola (2) ('errors as data') dá um contrato mais explícito.
Por que perguntam isso
Pergunta pleno/sênior de GraphQL. Sinal de domínio: 'errors as data' / union de resultado, e 'status 200 não garante nada'.