在 GraphQL 中,是否保证只返回查询指定的字段?
In GraphQL, is it guaranteed that only specified fields by the query are returned?
是否有这种要求,
query Example {
fruits {
id
fruit_name
}
}
总是需要 return 没有任何额外字段的结果?
{
"data": {
"fruits": [
{
"id": "1",
"fruit_name": "Manzana"
},
{
"id": "2",
"fruit_name": "Pera"
}
]
}
}
或者是否允许有这样的额外字段?
{
"data": {
"fruits": [
{
"id": "1",
"fruit_name": "Manzana",
"some_extra_field": "red"
},
{
"id": "2",
"fruit_name": "Pera",
"some_extra_field": "yellow"
}
]
}
}
我想知道 GraphQL 解析器是否必须对额外字段进行 tree shake。
is it guaranteed that only specified fields by the query are returned?
是的。
is it allowed to have extra fields?
没有。未请求的字段将不会被返回。
I wonder whether GraphQL resolvers have to tree shake extra fields.
没有。这不是您的解析器的工作。 GraphQL 实现负责过滤掉对象类型上的 un-requested 字段(参见 spec)。
是否有这种要求,
query Example {
fruits {
id
fruit_name
}
}
总是需要 return 没有任何额外字段的结果?
{
"data": {
"fruits": [
{
"id": "1",
"fruit_name": "Manzana"
},
{
"id": "2",
"fruit_name": "Pera"
}
]
}
}
或者是否允许有这样的额外字段?
{
"data": {
"fruits": [
{
"id": "1",
"fruit_name": "Manzana",
"some_extra_field": "red"
},
{
"id": "2",
"fruit_name": "Pera",
"some_extra_field": "yellow"
}
]
}
}
我想知道 GraphQL 解析器是否必须对额外字段进行 tree shake。
is it guaranteed that only specified fields by the query are returned?
是的。
is it allowed to have extra fields?
没有。未请求的字段将不会被返回。
I wonder whether GraphQL resolvers have to tree shake extra fields.
没有。这不是您的解析器的工作。 GraphQL 实现负责过滤掉对象类型上的 un-requested 字段(参见 spec)。