是否有一种简单的方法可以使GORM错误变得友好

时间:2013-02-08 18:15:10

标签: json parsing grails gorm

我正在GRAILS中开发一个简单的Restful API,我希望用户能够在我的某个域类上创建一个条目,这样他们就可以访问一个入口点/ rest / v1 / create / event?params < / p>

如果GORM条目失败,在接收控制器中,!event.save()

我有这样的代码:

def result = [
    'status'    :   'error',
    'data'      :   event.errors.fieldErrors.toList()
]
render result as JSON

有没有办法轻松地使event.errors.fieldErrors JSON友好,只有字段错误和消息,或者我是否必须编写解析器方法来处理它?<​​/ p>

2 个答案:

答案 0 :(得分:1)

结束编写一个简短的方法来解析并做出友好的错误

如果有人发现这个有用,请点击这里:

def gorm_errors(results) {
        results =  results.fieldErrors.toList()
        def errors = []
        for(error in results) {
            errors.add([
                'type' : 'invalid_entry', 
                'field' : error.field, 
                'rejected_value' : error.rejectedValue, 
                'message' : error.defaultMessage
            ])
        }
        return errors
    }

答案 1 :(得分:0)

这是上面例子中更“groovy-er”的版本:

def gorm_errors(errors) {
    errors.fieldErrors.toList().collect {error ->
        [
            'type': 'invalid_entry', 
            'field': error.field, 
            'rejected_value': error.rejectedValue, 
            'message': error.defaultMessage
        ]
}