Flex Gateway新着情報
Governance新着情報
Monitoring API Managerデリゲート関数を評価し、デリゲート関数が成功した場合は success: true
と result
を含むオブジェクトを返し、デリゲート関数が例外をスローした場合は success: false
と error
を含むオブジェクトを返します。
次の例では、randomNumber
関数を引数として使用し、try
関数をコールしています。
関数 randomNumber
は乱数を生成し、数値が 0.5 より大きい場合は fail
をコールします。この関数の宣言はスクリプトのヘッダーにあります。
%dw 2.0
import try, fail from dw::Runtime
output application/json
fun randomNumber() =
if(random() > 0.5)
fail("This function is failing")
else
"OK"
---
try(() -> randomNumber())
randomNumber
が失敗すると、出力は次のようになります。
{
"success": false,
"error": {
"kind": "UserException",
"message": "This function is failing",
"location": "Unknown location",
"stack": [
"fail (anonymous:0:0)",
"myFunction (anonymous:1:114)",
"main (anonymous:1:179)"
]
}
}
randomNumber
が成功すると、出力は次のようになります。
{
"success": true,
"result": "OK"
}
try
関数が失敗しても、orElseTry
関数と orElse
関数は処理を継続します。失敗した try
関数式の処理の詳細な例は、orElseTry
と orElse
のドキュメントを参照してください。
注意: orElseTry
関数と orElse
関数を使用する代わりに、try
関数の出力に基づいて、結果が success: true
または success: false
の場合に実行する条件ロジックを追加できます。