ฉันกำลังสร้าง Rest API โดยใช้ Spring Boot และฉันกำลังใช้การตรวจสอบความถูกต้องของไฮเบอร์เนตเพื่อตรวจสอบอินพุตคำขอ
แต่ฉันยังต้องการการตรวจสอบความถูกต้องประเภทอื่นเช่นเมื่ออัปเดตข้อมูลจำเป็นต้องตรวจสอบหากไม่มีรหัส บริษัท ฉันต้องการส่งข้อยกเว้นที่กำหนดเอง
การตรวจสอบความถูกต้องนี้ควรอยู่ที่ชั้นบริการหรือชั้นควบคุมหรือไม่
ชั้นบริการ:
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);
}