3

我正在使用 grails 2.5.5,问题是当我使用命令对象时,我想更改使用 @BindUsing 注释获得的数据格式。

@Validatable
class FooCommand extends BarCommand{
    @BindUsing({obj, source -> return source['foo'].collect{it['id']}})
    List<Long> foo

static constraints = {foo(nullable:true)}
}

BindUsing 闭包永远不会被执行。问题是什么以及如何解决?

JSONData = {"foo":[
                   {'id':5}, 
                   {'id':4}
                  ]
           }
FooCommand fooCommand = FooCommand(JSONData)
fooCommand.validate()

编辑: 要明确:问题是数据从格式更改,从地图列表变为长列表。有没有办法用 BindUsing 来做到这一点,还是我每次都必须在控制器中做到这一点?

4

0 回答 0