我通常在Dataweave中执行空检查,如下所示,
{有效负载!= null否则为null}
但是我的一位同事建议我使用默认的{}来减少空检查,如下所示,
%var x = payload default {}
{
payload.variableA
}
因为它提高了可读性,尤其是在复杂的转换中。
但是这样做真的是一个好习惯吗?它会引起任何问题,例如创建不必要的空对象吗?
首先,payload.variableA
应该在有效负载为null时返回null。您无需对此进行检查。尝试访问null对象上的键会返回null,而不是抛出可能习惯的null指针异常之类的东西。
您可以将default
视为dataweave的空偶运算符。您可以将其设置为空对象,默认值等。
https://docs.mulesoft.com/mule-runtime/4.3/dataweave-cookbook-defaults
默认操作符在DW1和DW2中的行为相同。