Предполагая, что ваш ввод является полезной нагрузкой, и вы хотите получить строку в качестве вывода, вы должны использовать map
, чтобы заключить все ваши идентификаторы в одинарные кавычки, а затем joinBy
, чтобы объединить их в одну строку. Наконец, вы заключите результат в круглые скобки:
%dw 1.0
%output application/java
%var ids = payload
// Wrap ids in single quotes and join them into a string
%function formatIds(ids)
ids
map ((id) -> "'$(id)'")
joinBy ","
%function transformForSOQL(ids)
"($(formatIds(ids)))"
---
transformForSOQL(ids)
Не уверен, что SOQL подвержен тем же уязвимостям, но если это так, будьте осторожны с внедрением "SOQL" при создании значений динамического запроса, подобных этому.