我在Grails項目中有這樣的控制器:Grails領域構造沒有工作
def submit() {
def json = request.JSON
Share share = new Share(json)
share.save(flush: true, failOnError: true)
}
類股看起來是這樣的:
class Share {
String timestamp
String deviceName
String originMessage
Share(JSONObject originalMessage) {
println "Run JSON constructor"
println "$originalMessage"
originMessage = originalMessage.toString()
timestamp = originalMessage.timestamp
deviceName = originalMessage.device
}
它收到
JSON請求,並嘗試在堅持數據庫。
我在控制檯得到failOnError這樣的錯誤:在對象
- 場誤差現場「com.entity.Share」「設備名稱」:拒絕值[空]
- 字段'originMessage'上的對象'com.entity.Share'中的字段錯誤:rejected value [null];代碼
大量的跳舞找到一種可能的方式:在控制器中將JSON轉換爲字符串並將其傳遞給構造函數,其中參數將是String類型,然後使用JSON轉換器將其解析爲JSON。但爲什麼我無法正確傳遞JSON對象作爲參數。怎麼了?
刪除你的構造,並再次嘗試空。 Grails已經有了這樣的領域類的構造函數。 –
是的,我知道,但我不喜歡構造函數的映射風格。然而,爲什麼我看到這樣奇怪的行爲? – sphinks