我正在使用 Google 的 Preconditions 类来验证用户的输入数据。
但我担心使用 Preconditions 类检查用户输入数据的最佳点在哪里。
首先,我在 Controller 中编写了验证检查代码,如下所示:
@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);
}
另一方面,服务层的方法将只在一个控制器中使用。
我很困惑。在控制器或服务中检查先决条件的更好方法是什么?
提前致谢。