Flex Gateway新着情報
Governance新着情報
Monitoring API Managerこれらの DataWeave の例では、DataWeave ヘッダーで関数 (fun
) を定義して、さまざまな日付形式内の日付区切り文字 (/
、.
、-
) を正規化して、すべてで同じ区切り文字 (-
) が使用されるようにします。
開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、DataWeave バージョン 1.2 の例を参照してください。
他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。
この例では、次の関数を使用します。
すべての日付を 1 つのパターンに一致させる replace
。
date
要素を調べる mapObject
。スクリプトで正規化関数を各 date
に適用します。
値のデータ型を特定の日付形式の Date (日付) 型に変更する as
(2 番目の DataWeave スクリプト)。
%dw 2.0
output application/xml
fun normalize(date) = (date) replace "/" with "-" replace "." with "-"
---
dates: (payload.dates mapObject {
normalized_as_string: normalize($)
})
<dates>
<date>26-JUL-16</date>
<date>27/JUL/16</date>
<date>28.JUL.16</date>
</dates>
<?xml version='1.0' encoding='US-ASCII'?>
<dates>
<normalized_as_string>26-JUL-16</normalized_as_string>
<normalized_as_string>27-JUL-16</normalized_as_string>
<normalized_as_string>28-JUL-16</normalized_as_string>
</dates>
%dw 2.0
output application/xml
fun normalize(date) = (date) replace "/" with "-" replace "." with "-"
---
// Outputs date values as Date types in the specified format
dates: (payload.dates mapObject {
normalized_as_date: (normalize($) as Date {format: "d-MMM-yy"})
})
<dates>
<date>26-JUL-16</date>
<date>27/JUL/16</date>
<date>28.JUL.16</date>
</dates>
<?xml version='1.0' encoding='UTF-8'?>
<dates>
<normalized_as_date>2016-07-26</normalized_as_date>
<normalized_as_date>2016-07-27</normalized_as_date>
<normalized_as_date>2016-07-28</normalized_as_date>
</dates>