GraphQL-js Node/Express:如何在 GraphQL 查询中传递字符串对象?
Posted
技术标签:
【中文标题】GraphQL-js Node/Express:如何在 GraphQL 查询中传递字符串对象?【英文标题】:GraphQL-js Node/Express: How to pass a stringed object in a GraphQL Query? 【发布时间】:2017-07-31 04:14:18 【问题描述】:我的目标是能够在 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 似乎不接受用单引号括起来的字符串。
在对象内部使用单引号是不可能的,因为这需要对编译这些对象的客户端进行重大更改。
示例:
"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),
,
【问题讨论】:
【参考方案1】:您需要在查询字符串中转义双引号:
accounts (
filter: "\"fieldName\":\"id\",\"fieldValues\":[\"123\"],\"filterType\":\"in\""
) id
【讨论】:
感谢您的意见。不幸的是,这行不通,因为这仍然需要在客户端更改代码。以上是关于GraphQL-js Node/Express:如何在 GraphQL 查询中传递字符串对象?的主要内容,如果未能解决你的问题,请参考以下文章
node + express +mongoose 实现基本登录注册
错误 cb.apply 不是 Node Express 项目中的功能 [尝试安装软件包时] --
Node.js_express_中间件 middleware_登录/注册实例