如何为字符串和数字列表定义 GraphQLType?
How to define a GraphQLType for a list of strings and numbers?
我在服务器上有一个如下所示的对象:
{ data: [[1,"asds"], [4, "ssd", [94, "Ads"]] }
我如何在 GraphQL 中定义一个类型(使用 graphql.js)来描述这个?基本上类似于 GraphQLList(GraphQLString | GraphQLInt).
这可能吗?
谢谢,
您可以尝试使用 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"
]
]
]
}
}
我在服务器上有一个如下所示的对象:
{ data: [[1,"asds"], [4, "ssd", [94, "Ads"]] }
我如何在 GraphQL 中定义一个类型(使用 graphql.js)来描述这个?基本上类似于 GraphQLList(GraphQLString | GraphQLInt).
这可能吗?
谢谢,
您可以尝试使用 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"
]
]
]
}
}