Google의 사전 조건 클래스를 사용하여 사용자 입력 데이터의 유효성을 검사하고 있습니다.
그러나 전제 조건 클래스를 사용하여 사용자의 입력 데이터를 확인하는 가장 좋은 시점이 어디인지 걱정됩니다.
첫째, 나는 다음과 같은 컨트롤러에 유효성 검사 코드를 썼다 :컨트롤러 또는 서비스 레이어의 전제 조건을 확인하십시오.
@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);
}
서비스 계층의 방법은 단 하나의 컨트롤러에서만 사용됩니다.
혼란 스러웠습니다. 컨트롤러 또는 서비스의 전제 조건을 확인하는 가장 좋은 방법은 무엇입니까?
미리 감사드립니다.
특히 DAO가 ORM을 사용하는 경우 bean 유효성 검사를 사용해야한다는 것에 동의하십시오. – hyness