查询参数日期在 Mule 中更改为字符串

Query parameter date is changed to string in Mule

我有一个名为 modifiedDate 的查询参数,在 RAML 文件中定义为仅限日期,但是当我查看 Mule 调试器时,我看到 modifiedDate 2001-10-10 是字符串数据类型。

RAML

...
queryParameters:
   modifiedDate:
   type: date-only
   example: "2001-10-10
...

这给我带来了一个问题,因为当我调用 SQL 服务器存储过程时,它返回了错误 "Cannot convert NVARCHAR to Date"。

我需要将 modifiedDate 以 YYYY-MM-DD 格式传递给 SQL 服务器并作为日期数据类型才能正常工作,但我在将其转换为 Mule 中的日期数据类型时也遇到了问题。

如何将 2001-10-10 更改为日期数据类型并保持值不变?

我正在使用 Anypoint Studio 6.2.2 和 Mule 3.8.3。

谢谢

有几种方法可以将字符串解析为 mule 中的日期

数据编织:

%dw 1.0
%output application/java
---
{
    "modifiedDate" :  inboundProperties.'http.query.params'['modifiedDate'] as :date
}

无需指定日期格式即可工作

Groovy

payload['modDate'] = 
    Date.parse("yyyy-MM-dd", message.getInboundProperty('http.query.params')['modifiedDate']);
payload;

这两个都会将值转换为 java.util.Date