Java 使用OrelsThrow方法在节省员工时间时抛出ConstraintViolationException

Java 使用OrelsThrow方法在节省员工时间时抛出ConstraintViolationException,java,spring,rest,spring-boot,crud,Java,Spring,Rest,Spring Boot,Crud,我正在学习SpringBoot,如果任何员工字段在保存时为空,我想在保存时显示错误消息。但是orelsetrow方法向我显示了错误。我怎样才能节省时间呢 @ApiOperation(value = "Add an employee") @PostMapping("/createemployee") Employee createOrSaveEmployee( @ApiParam(value = "Employee object store in d

我正在学习SpringBoot,如果任何员工字段在保存时为空,我想在保存时显示错误消息。但是
orelsetrow
方法向我显示了错误。我怎样才能节省时间呢

    @ApiOperation(value = "Add an employee")
    @PostMapping("/createemployee")
    Employee createOrSaveEmployee(
            @ApiParam(value = "Employee object store in database table", required = true) 
            @Valid
            @RequestBody Employee newEmployee)
            throws BadRequestExceptionHandler, ConstraintViolationException {

/*in below line orElseThrow method shows error
  that create new method named as orElseThrow in Employee Pojo. */

        return employeeRepository.save(newEmployee)
                .orElseThrow(() -> new ConstraintViolationException("Required parameters can not be empty."));
    }

可选
返回可以使用
orelsetrow()
处理。不用尝试这种方法,您几乎可以用这种方法覆盖相同的异常,也可以用您自己的方式抛出异常

try{ 
  employeeRepository.save(newEmployee); 
}catch(ConstraintViolationException e){ 
  throw new OwnDefinedException("Required parameters can not be empty."); 
}

可选
返回可以使用
orelsetrow()
处理。不用尝试这种方法,您几乎可以用这种方法覆盖相同的异常,也可以用您自己的方式抛出异常

try{ 
  employeeRepository.save(newEmployee); 
}catch(ConstraintViolationException e){ 
  throw new OwnDefinedException("Required parameters can not be empty."); 
}

存储库
save
方法不会返回
可选的
,您不能使用
或lsetrow
。我不知道您使用的是哪种DB,但是如果DB级别需要某些字段,那么如果您尝试插入与预期不匹配的行,ORM框架应该会引发异常。只需进行一些调查,以了解在这种情况下引发的异常类型,并处理它“…创建新方法的错误…”您是否可以将其重新表述为“…OrelsThrow方法显示错误:在Employee Pojo中创建名为OrelsThrow的新方法”?存储库
save
方法不会返回
可选的
,您不能使用
orelsetrow
。我不知道您使用的是哪种DB,但是如果DB级别需要某些字段,那么如果您尝试插入与预期不匹配的行,ORM框架应该会引发异常。只需进行一些调查,以了解在这种情况下引发的异常类型,并处理它“…创建新方法的错误…”您是否可以将其重新表述为“…OrelsThrow方法显示错误:在Employee Pojo中创建名为OrelsThrow的新方法”?约束冲突异常不接受字符串,它接受设置值。我尝试了你在这里写的东西。我已经更新了,如果它违反了约束,你可以抛出你自己定义的异常。您还可以添加多个异常以相同的方式处理。约束冲突异常不接受字符串,它接受设置值。我尝试了你在这里写的东西。我已经更新了,如果它违反了约束,你可以抛出你自己定义的异常。您还可以添加多个异常以相同的方式进行处理。