首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Graphql Apollo Federation -基于实现服务来解析计算字段

Graphql Apollo Federation -基于实现服务来解析计算字段
EN

Stack Overflow用户
提问于 2020-11-20 00:01:08
回答 1查看 302关注 0票数 0

我正在使用GraphQL联合体系结构,并且正在尝试向扩展类型添加一个新字段。例如,假设我在远程联合模式中有一个类型:

代码语言:javascript
复制
type Book {
   id: ID!
   authorFirstName: String
   authorLastName: String
}

我想根据它的数据来扩展这个类型,例如:

代码语言:javascript
复制
extend type Book @key(fields: "id") {
   id: ID! @external
   authorFullName: String
}

在解析器中,我将写道:

代码语言:javascript
复制
Book: {
    authorFullName: async (parent) => {
       return `${parent.authorFirstName} ${parent.authorLastName}`
    }
}

但不幸的是,它不起作用。扩展模式只接收ID和__typename,其他什么也不接收。你知道如何接收"id“和其他必要的字段吗?

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-11-20 00:01:08

所以我弄清楚了,我需要的是在扩展类型上添加必要的字段,并用"@ external“指令标记它们,并在计算字段中添加带有外部字段的"@requires”指令。

在我的示例中,解决方案是:(可以理解的是,联邦外部模式没有改变。)

代码语言:javascript
复制
extend type Book @key(fields: "id") {
   id: ID! @external
   authorFirstName: String @external
   authorLastName: String @external
   authorFullName: String @requires(fields: "authorFirstName authorLastName")
}

解析器停留在我上面提到的位置,仅此而已。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64915363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档