graphql - apollo service:push 返回错误:未知类型:“用户”,但在本地运行良好。如何解开这个谜团?
问题描述
原始代码来自这里:https ://github.com/apollographql/federation-demo/blob/master/services/reviews/index.js
我的代码是这样的:
const typeDefs = gql`
extend type User @key(fields: "id") {
id: ID! @external
numberOfReviews: Int
reviews: [Review]
}
type Review @key(fields: "id") {
id: ID!
body: String
author: User
product: Product
}
extend type Product @key(fields: "upc") {
upc: String! @external
reviews: [Review]
}
`;
const resolvers = {
Review: {
author(review) {
// Review.author -> provides the field `username` and requires User.username to be marked as @external.
console.log("review service returning author")
return { __typename: "User", id: review.authorID };
}
},
User: {
reviews(user, _args, { dataSources }) {
console.log("review service returning reviews for user " + user.id)
return reviews.filter(review => review.authorID === user.id);
},
numberOfReviews(user, _args, { dataSources }) {
console.log("review service returning numberOfReviews for user " + user.id)
return reviews.filter(review => review.authorID === user.id).length;
}
},
Product: {
reviews(product, _args, { dataSources }) {
console.log("review service returning reviews for product " + product.upc)
return reviews.filter(review => review.product.upc === product.upc);
}
}
};
我有其他非常相似的服务,它们可以毫无问题地解析类型。
我做了什么值得这个错误?
Fetching info from federated service
✔ Loading Apollo Project
✔ Loading Apollo Project
✖ Uploading service to Engine
→ Unknown type: "User".
Error: Unknown type: "User".
解决方案
推荐阅读
- google-maps - 如何在 Shopify Atlantic 主题中将 Iframe 地图大小更改为全屏
- android - 如何通过按下它来更改按钮ID?
- spring - Spring Boot 2 执行器千分尺设置
- numpy - 如何从 IPython 打开在线参考?
- c++ - 如何使用 cout 在类中显示类中的值?
- javascript - 比较对象数组并分配相似度分数
- reactjs - 无法让 Material UI 单选按钮与 Formik 第二部分一起使用
- reactjs - 用 let 声明 Hook
- python - 为什么在通信()完成后子进程继续运行?
- php - Laravel如何将数据插入到彼此具有外键的2个表中