我正在编写一个 GraphQL 查询,我必须使用 $like,但我收到一个语法错误:Unexpected from the GraphQl service 我怎样才能像字符串一样使用 $like 而不会出现此错误?
我试试这个:
'funquery(filter:"{\"++ vars.filter++\":{\"$like\":\"++ vars.value ++\"}}") {
#values to get
}'
但这给我带来了来自 dataweave 的错误:无法解析“like”的引用。 所以我尝试这个:
'funquery(filter:"{\"++ vars.filter++\":{\"\$like\":\"++ vars.value ++\"}}") {
#values to get
}'
我得到了语法错误:意外
我怀疑您正在尝试输出一个 GraphQL 查询来替换变量的值并将它们放在引号之间。如果是这种情况,则脚本中的引号平衡不正确。此外,GraphQL 不是 JSON,因此使用 JSON 作为输出格式可能会破坏引用。尝试使用 application/java 返回带有查询的字符串:
%dw 2.0
output application/java
var varFilter="abc"
var varValue="def"
---
"funquery(filter:{\"" ++ varFilter ++ "\":{\"\$like\":\"" ++ varValue ++ "\"}}) {
#values to get
}"
输出是一个字符串:
funquery(filter:{"abc":{"$like":"def"}}) {
#values to get
}