2017-02-03 1 views
2

Lors de la création de types dans GraphQL, la liste des champs d'un type peut devenir assez longue après un certain temps. Une façon de réduire le nombre de champs serait de placer un sous-ensemble pertinent des champs dans un type de "groupement", donc au lieu de user { last_name, first_name, height, weight, friends, favorite_clubs } on aurait user { identification, friends, favorite_clubs } où le schéma pour identification est bien sûr { last_name, first_name, height, weight }.Les "types de regroupement" sont-ils une bonne idée lors de la conception des API GraphQL?

Cependant, je ne suis pas convaincu que cela soit une bonne idée. L'avantage est que le type user est plus facile à lire, mais les choses qui me préoccupent sont:

  • Vous créez une nouvelle GraphQLObjectType juste pour le plaisir de l'organisation, ce n'est pas un nouveau noeud dans mon modèle mental du graphique ...

  • le paramètre root du résolveur identification serait encore l'objet utilisateur, qui se sent comme si je fais quelque chose de mal ...

est-ce une bonne façon de organiser votre API, ou mes soucis sont-ils corrects?

Répondre

1

Comme tout se résume à ce que vous préférez, il n'y a pas de vraie réponse à cette question.

Personnellement, j'indiquerais simplement tous les champs individuels. :)
Cela ne veut pas dire que l'inverse est faux.

De toute façon, ne pas le dépasser.