Я использую класс предварительных условий 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);
}
С другой стороны, метод сервисного уровня будет использоваться только в одном контроллере.
Я был сбит с толку. Как лучше проверить предварительные условия в контроллере или службе?
Заранее спасибо.