有很多这个问题,但没有一个答案...当我调用此方法时,控制台中将弹出错误消息,并且返回成功。是什么原因造成的?

使用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或其他名称),这可能会导致另一个异常。

10-04 10:09