Вызовите ConstraintViolationException с методом orElseThrow при сохранении времени сотрудника - PullRequest
1 голос
/ 12 февраля 2020

Я изучаю Spring Boot и хочу показать сообщение об ошибке во время сохранения, если какое-либо поле сотрудника пусто во время сохранения. Но метод orElseThrow показывает мне ошибку. Как я могу сделать это во время экономии?

    @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."));
    }

1 Ответ

0 голосов
/ 13 февраля 2020

Optional возврат может быть обработан с помощью orElseThrow(). Вместо того, чтобы попробовать этот способ, вы можете в значительной степени покрыть то же исключение таким же образом, а также свой собственный способ создания исключения.

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