如何解决ApolloFederation,使用另一个架构中的类型架构
我正在尝试使用Apollo Federation将一种模式的类型转换为另一种模式。
我在Lerna的monorepo项目中有2个软件包,分别为:receivers
和transaction
。
在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 举报,一经查实,本站将立刻删除。