有很多这个问题,但没有一个答案...当我调用此方法时,控制台中将弹出错误消息,并且返回成功。是什么原因造成的?
使用grails 3.1.8
def getKardexs(){
def kardexs = Kardex.createCriteria().list{
filial{
eq('id', params.long('filial'))
}
produto {
eq('categoriaKardex', CategoriaKardex.get(params.long('categoriaKardex')))
eq('ativo', true)
order('nome', 'asc')
}
}.collect{
[id: it.id, nome: it.produto.nome]
}
render ((kardexs ? kardexs : null) as JSON)
}
最佳答案
我有相同的经验,即使使用类型转换,也不能渲染null,您应该-如前所述-使用空Map ,类似于:
render ((kardexs ? kardexs : [:]) as JSON)
另一个重要说明,您应该将操作getKardexs()重命名为不同的名称,因为这被视为在上面定义的kardexs的getter属性(或将kardexs重命名为listKardexs或其他名称),这可能会导致另一个异常。