2017-10-05 58 views
0

我想发送很多参数给我的查询,我不想定义它。 所以我尝试通过JSON参数,但我没有很多成功与它。我使用的是https://github.com/taion/graphql-type-json模组。Graphql:JSON查询参数

这是我的查询定义:

usersByParams(params: JSON): [User] 

我的解析是:

usersByParams: (_, { params }) => { console.log('PARAMS', params); return users; } 

我的查询是:

query getUsersByParams { 
    usersByParams(params: {test: 'this not work'}) { 
     id 
     firstName 
     lastName 
     email 
     password 
    } 
} 

我我的解析器,我总是FOT “FALSE” 值为params。 我你有什么秘诀传递JSON 感谢的

回答

0

在您的解析器添加这个

import GraphQLJSON from 'graphql-type-json'; 
 

 
JSON: { 
 

 
    __serialize(value) { 
 
    return GraphQLJSON.parseValue(value); 
 
    } 
 
    __parseLiteral(ast) { 
 
    return GraphQLJSON.parseValue(value); 
 
    } 
 
}

我想,这可能会解决你的问题