【发布时间】:2017-03-26 21:14:41
【问题描述】:
我有三个不同的 PostGres 表,每个表都包含不同类型的关联。每种类型的数据库字段都不同 - 这就是它们位于三个单独的表中的原因。
我有一个组件可以潜在地访问任何类型的关联。现在从我迄今为止遇到的示例看来,一个组件通常与一个 GraphQL 查询相关联,例如:
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 查询只能返回单个 type 记录,例如在架构中:
getOneAssociate(associateType: String): [associateAccountingType]
问题:是否可以设计一个 GraphQL 模式,使得单个查询可以返回不同类型的对象?解析器可以接收一个 associateType 参数,该参数将告诉它要引用哪个 postGres 表。但是架构是什么样的,以便它可以根据需要返回 associateAccountingType、 associateArtDirectorType、 associateAccountExecType 等类型的对象?
提前感谢大家提供任何信息。
【问题讨论】: