私は3つの異なるPostGresテーブルを持っています。それぞれに異なるタイプのアソシエートが含まれています。データベースフィールドは各タイプごとに異なります。そのため、3つのテーブルに分けられています。Apollo GraphQL:異なるタイプのオブジェクトを返すクエリのスキーマ?
私は潜在的に任意のタイプのアソシエートにアクセスできる1つのコンポーネントを持っています。
const withData = graphql(GETONEASSOCIATE_QUERY, {
options({ navID }) {
return {
variables: { _id: navID}
};
}
,
props({ data: { loading, getOneAssociate } }) {
return { loading, getOneAssociate };
},
});
export default compose(
withData,
withApollo
)(AssociatesList);
そして、与えられたGraphQLクエリことを、ただ一つのを返すことができます表示されます。今では、コンポーネントは通常例えば、1つのGraphQLクエリに関連付けられていることを、私がこれまでに遭遇した例かららしいですレコードのと入力します。スキーマ内:
getOneAssociate(associateType: String): [associateAccountingType]
質問:それは、単一のクエリは、異なる型のオブジェクトを返すことができるようGraphQLスキーマを設計することが可能でしょうか?リゾルバは、参照するpostGresテーブルを通知するassociateTypeパラメータを受け取ることができます。しかし、スキーマはどのように見えるので、必要に応じてassociateAccountingType、associateArtDirectorType、associateAccountExecTypeなどのオブジェクトを返すことができますか?
事前にすべての情報に感謝します。