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