Beim Erstellen von Typen in GraphQL kann die Liste der Felder in einem Typ nach einiger Zeit ziemlich lang werden. Eine Möglichkeit, die Anzahl der Felder niedrig zu halten, wäre es, einige relevante Teilmengen der Felder in einen "Gruppierungstyp" zu unterteilen, so dass anstelle von user { last_name, first_name, height, weight, friends, favorite_clubs }
user { identification, friends, favorite_clubs }
das Schema für identification
natürlich { last_name, first_name, height, weight }
ist.Sind Gruppierungstypen beim Entwurf von GraphQL-APIs eine gute Idee?
Ich bin jedoch nicht davon überzeugt, dass dies eine gute Idee ist. Der Vorteil ist, dass der user
Typ besser lesbar ist, aber die Dinge, die mir Sorgen machen, sind:
Sie ein neues
GraphQLObjectType
nur im Interesse der Organisation zu schaffen, es ist nicht ein neuer Knoten in meinem mentalen Modell der graph ...der
root
Parameter desidentification
Resolver würde immer noch das Benutzerobjekt sein, das fühlt sich an wie ich etwas falsch tue ...
Ist dies eine gute Möglichkeit, Organisieren Sie Ihre API, oder sind meine Sorgen richtig?