Tôi đang sử dụng lớp Preconditions của Google để xác thực dữ liệu đầu vào của người dùng.
Nhưng tôi lo lắng về đâu là điểm tốt nhất để kiểm tra dữ liệu đầu vào của người dùng bằng cách sử dụng lớp Điều kiện tiên quyết.
Trước tiên, tôi đã viết xác nhận mã kiểm tra trong điều khiển như dưới đây:Kiểm tra điều kiện tiên quyết trong Bộ điều khiển hoặc Lớp dịch vụ
@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);
}
Nhưng tôi nghĩ rằng register
phương pháp trong lớp dịch vụ sẽ sử dụng một phương pháp điều khiển như dưới đây:
@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);
}
Mặt khác , phương thức của lớp dịch vụ sẽ được sử dụng chỉ trong một bộ điều khiển.
Tôi đã nhầm lẫn. Đó là cách tốt hơn để kiểm tra điều kiện tiên quyết trong bộ điều khiển hoặc dịch vụ?
Cảm ơn bạn trước.
Chắc chắn đồng ý rằng bạn nên sử dụng xác thực bean, đặc biệt nếu DAO của bạn đang sử dụng ORM. – hyness