Spring Boot를 사용하여 Rest API를 만들고 있으며 요청 입력의 유효성을 검사하기 위해 최대 절전 모드를 사용하고 있습니다.
그러나 업데이트 데이터를 확인해야 할 때와 같은 다른 종류의 유효성 검사도 필요합니다. 회사 ID가 존재하지 않으면 사용자 지정 예외를 throw하려고합니다.
이 유효성 검사가 서비스 계층 또는 컨트롤러 계층에 있어야합니까?
서비스 계층 :
public Company update(Company entity) {
if (entity.getId() == null || repository.findOne(entity.getId()) == null) {
throw new ResourceNotFoundException("can not update un existence data with id : "
+ entity.getId());
}
return repository.saveAndFlush(entity);
}
컨트롤러 레이어 :
public HttpEntity<CompanyResource> update(@Valid @RequestBody Company companyRequest) {
Company company = companyService.getById(companyRequest.getId());
Precondition.checkDataFound(company,
"Can't not find data with id : " + companyRequest.getId());
// TODO : extract ignore properties to constant
BeanUtils.copyProperties(companyRequest, company, "createdBy", "createdDate",
"updatedBy", "updatedDate", "version", "markForDelete");
Company updatedCompany = companyService.update(company);
CompanyResource companyResource = companyAssembler.toResource(updatedCompany);
return new ResponseEntity<CompanyResource>(companyResource, HttpStatus.OK);
}