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

时间:2017-07-21 08:43:49

标签: sql-server mule date-conversion dataweave mel

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

RAML

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

这导致我出现问题,因为当我调用SQL Server存储过程时它返回错误"无法将NVARCHAR转换为Date"。

我需要以YYYY-MM-DD格式将modifiedDate传递给SQL Server,并将其作为Date数据类型传递,但我也无法将其转换为Mule中的日期数据类型。

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

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

由于

1 个答案:

答案 0 :(得分:1)

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

Dataweave:

%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