我有覆盖show()
子类中RestfulController
方法的简单代码。以下代码改编自Grails 2.5.4文档中的“Implementing the 'show' action”示例。
def show() {
Coupons instance = Coupons.findByCode(params.code)
print("instance: ${instance}")
if (instance == null) {
render status: 404
}
else {
return instance
}
}
当在数据库(MongoDB)中找不到匹配的文档时,
print
语句按预期指示null
对象。instance: null
找到匹配的文档后,
print
语句将输出以下内容。instance: com.example.Coupons: (unsaved)
我的问题是,找到文档后,为什么它又回到“未保存”状态?更重要的是,当对象确实存在时,为什么条件
instance == null
评估为true
?
最佳答案
看来问题是域类中存在transients
。从我的域类中删除transients
列表似乎已经解决了该问题。
关于rest - Grails(未保存)==来自动态查找器的null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37691193/