ApolloFederation,使用另一个架构中的类型架构

问题描述

我正在尝试使用Apollo Federation将一种模式的类型转换为另一种模式。 我在Lerna的monorepo项目中有2个软件包,分别为:receiverstransaction。 在receivers包中,我将其保存在index.ts文件中:

import { buildFederatedSchema } from '@apollo/federation';
import { ApolloServer } from 'apollo-server-lambda';

import getMyTransactions from './resolvers/getMyTransactions';
import typeDefs from './receivers.gql';

const resolvers = {
  Query: {
    getMyTransactions
  },};

const server = new ApolloServer({
  schema: buildFederatedSchema([{ typeDefs,resolvers }]),context: ({ event }) => ({
    authorizer: event.requestContext.authorizer
  }),});

现在,我对这两个软件包的架构都是:

// receivers.gql

extend type Transaction @key(fields: "id") {
  id: ID! @external
}

type Query {
  getMyTransactions: [Transaction!]!
}

// transaction.gql

type Transaction @key(fields: "id") {
  id: ID!
  createdAt: String!
}

我正在Graphql Playground上执行此查询获取getMyTransactions查询

query getMyTransactions{
  getMyTransactions{
    status
    id
    createdAt
  }
}

但是我从Graphql得到这个错误

"message": "Cannot query field \"createdAt\" on type \"Transaction\".",

我做错了什么?我应该找什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)