2017-01-01 5 views
0

私は、私が取り組んでいるプロジェクトで使用するためにGraphQLを見てきました。このプロジェクトでは、Haskellのデータ型を使用して全体的なデータ構造を定義しました(説明のため)。これは、このようなタイプが含まれていますGraphQLでタグ付きのユニオンを模倣していますか?

data Requirement 
    = Purchased PurchaseId 
    | Attained Outcome Real 
    | Invited 

だから、何かのための要件は、ユーザーが特定の項目は、に一定のスコアを達成し、または招待されて買っていることかもしれません。

ドキュメントを読んでから、私はunionは私が要件の種類を表現したいと思いますものですが、それぞれのメンバーのためのコンテンツの違いに対処するためのエレガントな方法があることを推測すると思います連合?

ありがとうございます!

答えて

1

心配なし、私はそれを自分で解決しました! Interfacesは私が必要とするものです。

例:

interface Requirement { 
    id: ID! 
} 

type Purchased implements Requirement { 
    id: ID! 
    mustHavePurchased: ID! 
} 

# etc... 
関連する問題