1

私は GRAILS で単純な Restful API に取り組んでいます。ユーザーがドメイン クラスの 1 つでエントリを作成できるようにして、エントリ ポイント /rest/v1/create/event?params にアクセスできるようにしたいと考えています。

GORMエントリが失敗した場合、受信コントローラでは、 !event.save()

次のようなコードがあります。

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

event.errors.fieldErrors を簡単に JSON フレンドリーにする方法はありますか? フィールド エラーとメッセージだけで何かを行う方法はありますか? または、これを処理するパーサー メソッドを作成する必要がありますか?

4

2 に答える 2

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
    }
于 2013-02-08T20:00:08.940 に答える