GraphQL-js Node / Express:如何在GraphQL Query中传递一个弦乐对象?
我的目标是能够在GraphQL查询中传递一个弦乐对象。
目标:
{ accounts (filter: '{"fieldName": "id", "fieldValues":["123"], "filterType":"in"}'){ id } }
错误:
"Syntax Error GraphQL request (1:22) Unexpected single quote character ('), did you mean to use a double quote (\")?"
问题是GraphQL似乎不接受用单引号包围的string。
在对象中使用单引号是不可能的,因为这将需要对编译这些对象的客户端进行重大更改。
例:
{ "fieldName": "id", "fieldValues":["123"], "filterType":"in" }
架构:
accounts: { type: new GraphQLList(accountType), args: { id: { type: GraphQLString }, status: { type: GraphQLString }, filter: { type: GraphQLString }, sort: { type: GraphQLString }, }, resolve: (root, args, { loaders }) => loaders.account.load(args), },
你需要在query-string里面使用双重转义string:
{ accounts ( filter: "{\"fieldName\":\"id\",\"fieldValues\":[\"123\"],\"filterType\":\"in\"}" ){ id } }