首页 > 解决方案 > Mule 4 表达式在 url 中传递日期时间

问题描述

我正在向 Mule 4 重新编写 Mule 3 应用程序,并且我的 api 调用另一个在 url 中具有类似过滤条件的 api ?filter=(date-greater-than(VOD_DATA,'#[server.dateTime.plusDays(-Integer .parseInt(${num.of.days})).format("yyyy-MM-dd\'T\'HH:mm:ss")]')) 自服务器以来,我需要在 mule 4 中使用此表达式。dateTime 不起作用,我正在尝试使用此表达式 (date-greater-than(VOD_DATA,'now() as DateTime {format: "yyyy-MM-dd'T'HH:mm:ss"} + |P30D| ') 并且它给我一个错误,因为发现非法字符。任何人都可以帮助我用表达式来解析 url 中的过滤器吗?

标签: datedatetimeparsingdataweavemule4

解决方案


表达似乎是正确的。它缺少表达式分隔符 (#[...]) 并将结果转换为字符串以防万一:

(date-greater-than(VOD_DATA,#[(now() as DateTime {format: "yyyy-MM-dd'T'HH:mm:ss"} + |P30D|) as String])

推荐阅读