Estoy usando la clase Preconditions de Google para validar los datos de entrada del usuario.
Pero me preocupa cuál es el mejor punto para verificar los datos de entrada del usuario usando la clase Preconditions.
En primer lugar, me escribió código de comprobación de validación en el controlador, como a continuación:Verifique las condiciones previas en el controlador o la capa de servicio
@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);
}
Pero pensé que register
método en la capa de servicio estaría utilizando otro método controlador, como a continuación:
@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);
}
Por otra parte , el método de capa de servicio se usaría en un solo controlador.
Estaba confundido. ¿Cuál es la mejor forma de verificar las condiciones previas en el controlador o servicio?
Gracias de antemano.
Definitivamente de acuerdo en que debe usar la validación de bean, especialmente si su DAO está usando ORM. – hyness