gpt4 book ai didi

当 Key 为整数类型时,GraphQL 返回 "Names must match"错误

转载 作者:行者123 更新时间:2023-12-02 15:58:44 25 4
gpt4 key购买 nike

我正在尝试将 GraphQL 与旧服务一起使用,该服务返回一个 JSON,其中一些键作为整数。这是一个例子,

{
"id": 1234,
"image": {
"45": "image1url",
"90": "image2url"
},
"name": "I am legacy server"
}

当我尝试将 "45"定义为 GraphQL 字段时,

var imageType = new graphql.GraphQLObjectType({
name: 'Image',
fields: {
45: { type: graphql.GraphQLString },
90: { type: graphql.GraphQLString }
}
});

我收到以下错误,

Error: Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but "45" does not`.

我们如何将键作为整数处理?

最佳答案

GraphQL 仅允许以 ASCII 字符或下划线开头的键。您可以使用 resolve 函数将旧名称映射到新名称。

var imageType = new graphql.GraphQLObjectType({
name: 'Image',
fields: {
size45: {
type: graphql.GraphQLString,
resolve: (parent) => parent['45'],
},
size90: {
type: graphql.GraphQLString,
resolve: (parent) => parent['90']
}
}
});

关于当 Key 为整数类型时,GraphQL 返回 "Names must match"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36583360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com