mule4 踩坑记:for loop 与 http request

本文讨论了在Mule平台中通过监听发起请求并触发数据库操作的过程,包括使用特殊符号、变量引用及流数据库操作语法。文章还介绍了如何避免HTTP错误、正确构造请求体以及实现循环操作的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这次的flow的目标是发起一次监听的同时,触发4次增加数据库的工作。其中一个filed是“$push”. 

 

坑1: 发送request的时候,header里面的content type没有自动生成的,只好自己添加了,这导致了我的服务器返回406 not acceptable 错误。

坑2: 我希望发一条 {“$push”: {"title": "sth" + variable}} 形式的 request, 这个request在body中应该怎么写呢? 首先,这个$是reference的标识符,但是我们这里只是需要发处“$”这个符号,方法和 latex里面一样加 “\” 就可以了,

此外,和java中 string + string的形式不同, 这里的形式是 “++”。

最后,我们既可以直接发一条 “row message” 也可以 发 DataWeave. 但是,假如要使用vars.variable 的形式的话应该必须用dataweave.  也就是#[] 的形式。 假如是纯text的话就不用:

‘’‘ dataweave 形式 

#[%dw 2.0

 output application/json

 ---

 { "\$push": {"party": " lalala" ++ vars.counter } } 

]

‘’‘

‘’‘ 纯 text:

{ "$push": {"party": " lalala"} 可以不用加 “\”

‘’‘

坑3: for loop

我这里是用for each connector 强行实现的,按mule 社区上来看应该是可以用 choice 加set variable做,choice加varibale的和我们正常的程序loop写法更像。不过我的variable赋值一直有点问题,所以强行实现了一波。

这里的collection 我尝试过填4, 但是这里不能用“number”只能是array或者object,所以索性我就丢了个array进去,这个array没啥用,只是让loop跑四次而已。真是丑。。。

应该是有更好的方式的,等我搞出来在更新好了~

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值