我正在使用 Grails 2.4 和 jersey request builder 插件。
我得到以下错误
def resRequestList = RESPONSE FROM REST REQUEST
ResourceTest item1 = resRequestList.get(0)
错误是
Cannot cast object '{createdBy=2576, endDate=10-Jun-2016, id=14}'
with class 'groovy.json.internal.LazyMap' to class 'com.modal.resource.ResourceTest'
due to: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '10-Jun-2016' with class 'java.lang.String' to class 'java.util.Date'
看起来从 Sting 到 Date 的转换失败。
我需要解决方案将其自动映射到 POJO,而不会出现字符串到日期对话错误。
应该有任何东西在类型转换之前进行预处理。
请帮忙。
最佳答案
您可以添加@BindingFormat('dd-MMM-yyyy')
ResourceTest
中日期字段的注释类(class)。您也可以使用grails.databinding.dateFormats
配置选项来设置默认的全局绑定(bind)格式。有关详细信息,请参阅此答案:Binding a Grails date from params in a controller .
我还建议不要将月份发送为 Jun
因为这是特定于语言环境的,并且可能无法根据您的环境工作。
关于json - 由于日期值,Grails LazyMap 到 POJO 的转换失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37297517/