问题
I want to implement a simple "for loop" in WSO2 Integration Studio.
For example:
I am implementing a bus-route API. Every bus has 10 different stops. I want to fetch the 10 stops from the back-end service. A normal for-loop for this would be:
for(i=0;i<10;i++)
{
//back-end call
<call>
<endpoint>
<http method="get" uri-template="https://backend.com/city+i"/>
</endpoint>
</call>
}
NOTE: In the above for loop, the back-end call has path parameter like city which should be iterated as city1, city2, city3,..... city9.
How do I implement this in WSO2 EI/ESB Integration Studio?
回答1:
One simple way would be to define a sample payload with the numbers inside an array and iterate through it. (This would work if the number of the iterations are predefined) For eg: [{"value" : 1},{"value" :2},{"value" : 3}, ... ]
Or else you can write a custom class mediator and implement your logic.
Also there is a fun way to implement a while loop with the help of database. http://bsenduran.blogspot.com/2017/08/while-loop-in-wso2-esb.html?m=1
来源:https://stackoverflow.com/questions/61793131/wso2-ei-esb-for-loop-implementation