2017-02-03 2 views
2

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 des identification 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?

Antwort

1

Da alles darauf ankommt, was Sie bevorzugen, gibt es keine echte Antwort auf diese Frage.

Ich würde persönlich einfach alle einzelnen Felder auflisten. :)
Bedeutet nicht, dass der andere Weg falsch ist.

Anyways, nicht überdenken.

Verwandte Themen