替换graphql中的占位符忽略枚举和字符串
我正在读取graphql查询并将其存储在变量中,然后在存储的graphql中替换变量。替换是字符串化的,尽管中有一个枚举替换graphql中的占位符忽略枚举和字符串,graphql,karate,Graphql,Karate,我正在读取graphql查询并将其存储在变量中,然后在存储的graphql中替换变量。替换是字符串化的,尽管中有一个枚举 query() { blabla( varToReplace: < varToReplace > queryOptions: {} ) { boemba { id ) } } } 但实际执行的查询不仅包含在对象的匹配键中,还包含“ONLY”,即字符串化值 query() { blabla(
query() {
blabla(
varToReplace: < varToReplace >
queryOptions: {}
) {
boemba {
id
)
}
}
}
但实际执行的查询不仅包含在对象的匹配键中,还包含“ONLY”,即字符串化值
query() {
blabla(
varToReplace: [{"value":"boemba", "matching":"ONLY"}]
) {
boemba {
id
)
}
}
}
有没有一种方法可以让被替换的值与提供的值完全相似,而不是全部字符串化?关键字
replace
处理纯字符串,并且不支持Java或JS类型。所以试试这个(注意单引号):
请注意,如果内置的replace
不适合您,您可以编写自己的JS实用程序函数(甚至Java)
query() {
blabla(
varToReplace: [{"value":"boemba", "matching":"ONLY"}]
) {
boemba {
id
)
}
}
}
* replace query.varToReplace = '[{ value: "boemba", matching: ONLY }]'