Apollo:从远程模式扩展类型

时间:2018-04-28 16:37:33

标签: graphql apollo graphql-js react-apollo apollo-client

我目前有多个运行Apollo的GraphQL服务,并创建了一个使用远程架构拼接的“网关”服务,以便为我提供单一的访问端点。

在我的网关服务中,我希望扩展远程类型以在拼接模式之间创建引用。

const linkTypeDefs = `
    extend type User {
        profile: Profile
    }

    extend type Profile {
        user: User
    }`;

const schema = mergeSchemas({
    schemas: [userSchema, profileSchema, linkTypeDefs],
    resolvers: /* Resolvers */
});

但是我似乎遇到了以下错误:

  

GraphQLError:无法扩展“User”类型,因为它在现有架构中不存在。

我已经仔细检查了“User”和“Profile”类型,我可以从Gateway Graphiql查询它们。

我是否需要采取任何特定步骤来扩展从远程模式合并的类型?

1 个答案:

答案 0 :(得分:2)

我最终通过意识到userSchemaprofileSchema都返回了一个承诺来解决这个问题。

我等待这些返回值,这解决了我的问题。