操作apollo中的resolveinfo对象
Manipulate the resolveinfo object in apollo
我正在使用 apollo-server 并且我有一个特殊情况需要在解析器中以编程方式更改输入查询。
例如:
假设我得到一个如下所示的 graphQL 查询:
query {
Car {
brand
color
}
}
当此代码到达我的解析器时,我想更改 resolverInfo 参数对象以在查询中添加一个额外的字段。像这样:
query {
Car {
id // <--- This is the new field
brand
color
}
}
这件事容易做到吗?
这不是您想要做的事情,即使这是可能的。
GraphQL 的重点在于客户端只请求它需要的数据。如果它没有请求一个字段,那么它是由客户端来处理的,而不是你。
也就是说,您不负责解析客户端未请求的字段。
我正在使用 apollo-server 并且我有一个特殊情况需要在解析器中以编程方式更改输入查询。
例如: 假设我得到一个如下所示的 graphQL 查询:
query {
Car {
brand
color
}
}
当此代码到达我的解析器时,我想更改 resolverInfo 参数对象以在查询中添加一个额外的字段。像这样:
query {
Car {
id // <--- This is the new field
brand
color
}
}
这件事容易做到吗?
这不是您想要做的事情,即使这是可能的。
GraphQL 的重点在于客户端只请求它需要的数据。如果它没有请求一个字段,那么它是由客户端来处理的,而不是你。
也就是说,您不负责解析客户端未请求的字段。