2017-12-02 4 views
0

Wie die graphql Dokumentation zeigt, ist es möglich, einem regulären Objekttyp in Ihrem Schema Argumente hinzuzufügen.Was sind einige Anwendungsfälle zum Hinzufügen von Argumenten in einem Nicht-Abfrageobjekttyp graphql?

type Starship { 
    id: ID! 
    name: String! 
    length(unit: LengthUnit = METER): Float 
} 

Ich verstehe, wie dies für den Abfragetyp, aber nicht für regelmäßige Objekttypen nützlich ist. Aus welchen Gründen möchten Sie möglicherweise Objekttypen Argumente hinzufügen?

Antwort

0

Das erste Beispiel, das in meinem Sinn kommt, wenn Sie ein Feld wie photo haben, und Sie können für verschiedene Größen fragen:

{ 
    me { 
    id 
    name 
    small: photo(scale: 0.5) 
    normal: photo 
    large: photo(scale: 2) 
    } 
} 

Termine mit verschiedenen Formaten, alles von Transformationen Filter und so weiter. Es liegt an dir. Ich bin wirklich beschissen mit Beispielen, aber Sie verstehen es.

+0

Wenn die Eingabe für die Abfrage nach verschiedenen Größen ist, wären diese Eingaben nicht Teil des Abfrageobjekts? 'type Query { Held (Folge: Episode): Charakter Droid (ID: ID!): Droid }' – Simon

+0

Jedes Feld auf einem GraphQL Objekttyp kann Argumente haben. Nicht nur die Felder der Abfrage- oder Mutationstypen –

+0

ja. Aber unter welchen Umständen wäre das Hinzufügen von Argumenten zu Nicht-Abfrage- oder Nicht-Mutationstypen hilfreich? Würde es verwendet werden, wenn ich einen speziellen Resolver für ein verschachteltes Objekt schreiben müsste? – Simon

Verwandte Themen