2013-02-08 2 views
1

Я работаю над простым Restful API в GRAILS, я хочу, чтобы пользователи могли создавать запись на одном из моих классов домена, чтобы они могли попасть в запись ?! точка/отдых/v1/создать/событие ParamsЕсть ли простой способ сделать ошибки GORM restful api friendly

В принимающем контроллере, если запись GORM терпит неудачу, event.save()

у меня есть код, как это:

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

есть способ легко сделать event.errors.fieldErrors JSON дружественным, что-то с полевой ошибкой и сообщением, или я буду чтобы написать метод парсера, чтобы справиться с этим?

ответ

1

Ending написанием короткий метод для разбора через него и дружественные ошибки

Если кто-то считает, что это полезно, здесь:

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 
    } 
0

Вот более «заводной-эр» версия выше пример:

def gorm_errors(errors) { 
    errors.fieldErrors.toList().collect {error -> 
     [ 
      'type': 'invalid_entry', 
      'field': error.field, 
      'rejected_value': error.rejectedValue, 
      'message': error.defaultMessage 
     ] 
} 
Смежные вопросы