【发布时间】:2018-05-27 00:54:59
【问题描述】:
我在服务器上有一个如下所示的对象:
{ data: [[1,"asds"], [4, "ssd", [94, "Ads"]] }
如何在 GraphQL 中定义一个类型(使用 graphql.js)来描述这个?基本上类似于 GraphQLList(GraphQLString | GraphQLInt)。
这可能吗?
谢谢,
【问题讨论】:
标签: javascript graphql graphql-js
我在服务器上有一个如下所示的对象:
{ data: [[1,"asds"], [4, "ssd", [94, "Ads"]] }
如何在 GraphQL 中定义一个类型(使用 graphql.js)来描述这个?基本上类似于 GraphQLList(GraphQLString | GraphQLInt)。
这可能吗?
谢谢,
【问题讨论】:
标签: javascript graphql graphql-js
您可以尝试使用 GraphQLScalarType 来接受任何值:
var AnyValueScalar = new graphql.GraphQLScalarType({
name: 'AnyValueScalar',
serialize: anyValue,
parseValue: anyValue,
parseLiteral(ast) {
return anyValue(ast.value);
}
});
function anyValue(value) {
return value
}
定义查询类型字段数据
var queryType = new graphql.GraphQLObjectType({
name: 'Query',
fields: {
data: {
type: AnyValueScalar,
resolve: function(_,args){
return [[1,"asds"], [4, "ssd", [94, "Ads"]]]
}
}
}
});
如果您在 QraphiQL 中查询如下
query {
data
}
应该有结果
{
"data": {
"data": [
[
1,
"asds"
],
[
4,
"ssd",
[
94,
"Ads"
]
]
]
}
}
【讨论】: