Контроллер Grails, управление объектами Command - PullRequest
0 голосов
/ 29 сентября 2011

В действиях контроллера Grails, для валидации, мы используем объекты команд. Проблема в том, что количество классов CommandObject взорвалось.

 def publish = { PublishCommand command ->
        if (command.hasErrors()) {
            return redirect(action: 'errors',params:params)
        }
        //rest of the code
  }
 ......

Class PublishCommand {
   long personId
   String name
   static constraints = {
        personId(nullable: false, blank: false)
        name(nullable: false, blank: false)

   }
}

Класс PublishCommand существует только для этой цели привязки и проверки данных. Количество таких классов взорвалось, 1 создано для каждого действия приложения. Вопрос, есть ли способ, которым я могу иметь эту PublishCommand как innerClass? Или другие способы, когда мне не нужно создавать так много классов?

1 Ответ

3 голосов
/ 29 сентября 2011

Довольно распространенная практика - помещать классы объектов команды в тот же файл .groovy, что и контроллер (после класса контроллера).Это поможет сократить количество файлов, которыми вы должны управлять.В противном случае вы будете следовать рекомендациям (из того, что вы описали).

...