我想将域类与嵌套域对象绑定到request.JSON数据。它的工作正常,除了嵌套域类中的Date类型的字段,它总是给出null。这是request.json
[..., cardInfo:[expiryDate:2016-07-21, ccv:3455, cardNumber:4111111111111111], ....]
我尝试使用多种方式绑定这些json:
MyClass myClass=new MyClass(request.JSON)
和
myClass.properties=request.JSON
bindData(myClass,request.JSON)
bindData(myClass.cardInfo,request.JSON.cardInfo)
绑定expiryDate没有任何作用。这是一个错误还是我做错了什么?
更新:
我正在使用Grails 2.4.2。我的配置文件中也包含此行
grails.databinding.dateFormats = ['dd-MM-yyyy','MM-dd-yyyy','yyyy-MM-dd', 'yyyy-MM-dd HH:mm:ss.S']
答案 0 :(得分:1)
您没有提供足够的信息以确定,但我希望活页夹未配置为了解您的日期格式。你可以尝试这样的事情:
class MyClass {
@org.grails.databinding.BindingFormat('yyyy-MM-dd')
Date expiryDate
}
您还可以在Config.groovy中将其配置为默认日期格式:
// grails-app/conf/Config.groovy
grails.databinding.dateFormats = ['yyyy-MM-dd', 'MMddyyyy', 'yyyy-MM-dd HH:mm:ss.S', "yyyy-MM-dd'T'hh:mm:ss'Z'"]
有关详细信息,请参阅http://grails.org/doc/latest/guide/theWebLayer.html#dataBinding。
我希望有所帮助。
答案 1 :(得分:0)
我认为这里存在两个问题: