微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。