2017-07-07 13 views
0

graphql用に複数の型を作成するにはどうすればよいですか?私は、この特定のコードを持っている:それは文字列にブール値に変換だってgraphql用の複数の組み込み型

status: { 
    type: GraphQLString || GraphQLBoolean, 
    resolver: Blahblah 
} 

は明らかに、これは動作しませんが、私はboolean型と文字列の両方をサポートしたいです。

他のプロジェクトがそれらを使用しているので、私は文字列を作り、コードを調整することはできません。他の開発者に連絡した後にいつかかかります。

ありがとうございます。

答えて

1

GraphQLはすべて特異性に関するものです。便利なショートカットを削除しても、意図的にあまり余裕がないので、この問題の解決策の1つは連合型で、他の型の和集合である型を定義することができます。例えば

type StringType { 
    fieldName: String 
} 

type BooleanType { 
    fieldName: Boolean 
} 

union StringBool = StringType | BooleanType 

myQuery(someArg: String!): StringBool 

これは、クエリの戻り値としてのみ許容される型であることに注意してください。それは突然変異のための受け入れ可能な入力型ではありません。クエリから返されるフィールドを指定するときは、さまざまなタイプを「断片化」し、ユニオンの可能な各メンバーから戻ってほしいフィールドを説明する必要があります:

... on StringType { 
    fieldName 
} 
... on BooleanType { 
    fieldName 
} 
関連する問題