Closed liaipeng closed 1 year ago
缺少 getter 方法?
缺少 getter 方法?
这是个小布尔值,没有get方法,只有isRetry方法。应该是这里出现问题,历史原因这个DTO的小布尔命名不太规范,前缀带了is(命名成了isRetry,按照规约应该是命名为retry,方法名是isRetry),可能因此违反了aviator的某种约束?导致在获取值的时候找不到字段。
我试了一下,把表达式替换成 #res.retry就可以取到值了,看起来了aviator在取值的时候,默认把前缀的is去掉了。
但是我们的组件已经提供出去给用户使用了,让每个用户都去改表达式的成本很高。我看changelog里,是5.2.7的版本中加了no such property的校验,请问这个校验能否通过指定入参或者全局设置去掉?
这个可以针对 boolean 类型做个兼容处理。我认领下。
@liaipeng 在最新主干代码 fix 了,你可以尝试自行打包测试下 https://github.com/killme2008/aviatorscript/commit/c22399df930c0d55c4ca858252f8bb7f65de2efc
Fixed in v5.4.0
DTO中的字段:
取值:
原来在5.2.6版本找不到字段是返回null,升级到5.3.0之后会报错: Caused by: com.googlecode.aviator.exception.NoSuchPropertyException: Property
isRetry
not found in xxx看起来像是因为小布尔值,默认去除了前缀的is?麻烦帮忙看下