Проверьте предварительные условия на уровне контроллера или сервиса

Я использую класс предварительных условий Google для проверки входных данных пользователя.
Но меня беспокоит, где лучше всего проверять входные данные пользователя с помощью класса Preconditions.
Во-первых, я написал код проверки в контроллере, как показано ниже:

@Controller
...
public void register(ProductInfo data) {
    Preconditions.checkArgument(StringUtils.hasText(data.getName()),
        "Empty name parameter.");
    productService.register(data);
}

@Service
...
public void register(ProductInfo data) {
    productDao.register(data);
}

Но я думал, что метод registerна уровне службы будет использовать другой метод контроллера, как показано ниже:

@Controller
...
public void register(ProductInfo data) {
    productService.register(data);
}
public void anotherRegister(ProductInfo data) {
    productService.register(data);
}

@Service 
...
public void register(ProductInfo data) {
    Preconditions.checkArgument(StringUtils.hasText(data.getName()),
        "Empty name parameter.");
    productDao.register(data);
}

С другой стороны, метод сервисного уровня будет использоваться только в одном контроллере.
Я был сбит с толку. Как лучше проверить предварительные условия в контроллере или службе?
Заранее спасибо.

17
задан reformed 16 August 2012 в 00:43
поделиться