我在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。
由于
答案 0 :(得分:1)
有两种方法可以将字符串解析为mule中的日期
%dw 1.0
%output application/java
---
{
"modifiedDate" : inboundProperties.'http.query.params'['modifiedDate'] as :date
}
无需指定日期格式即可使用
payload['modDate'] =
Date.parse("yyyy-MM-dd", message.getInboundProperty('http.query.params')['modifiedDate']);
payload;
这两个都会将值转换为java.util.Date