@Valid не работает с Jax rs и Springboot - PullRequest
0 голосов
/ 28 декабря 2018

Я получаю NotFoundException при попытке реализовать пользовательскую обработку исключений в приложении остальной загрузки при загрузке.

Код работал нормально, когда я использовал аннотации MVC (используя @ControllerAdvice), но не уверен, что когда я отправляю данные, которые нарушают ограничение, упомянутое в сущности (класс pojo), он выбрасывает только NotFoundException (для всех ошибок проверки), но не MethodViolationException или ConstraintViolationException

Я не могу отправить сообщение об этом конкретном нарушении.

Не уверен, где я делаю эту ошибку.Пожалуйста, помогите

Код:

@POST
@Path("/customers/add") 
public Response addCustomer(@Valid customer cust) 
{

// Rest of the code

} 

POJO:

@Entity
@Table(name="cust")
public class Customer
{
  @NotNull
  @Size(min=1,max=50,message ="invalid name") 
  String name;

}

Обработчик исключений:

@Provider
public class CustomHandler implements ExceptionMapper<Exception>
{
 public Response toResponse(Exception ex) 
 {
  if(ex instanceOf ConstraintViolationException) 
  {
    Do something
  } 
} 

** UPDATE 1

Если я включаю send_error_in_response, я получаю сообщение об этом, но не уверен, почему мой обработчик пользовательских исключений не может перехватить это исключение и только выбрасывает NotFoundException

1 Ответ

0 голосов
/ 28 декабря 2018

Попробуйте обработать исключение, используя:

@ControllerAdvice
@RestController
public class CustomizedResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {

  @ExceptionHandler(StudentNotFoundException)
  public final ResponseEntity<ErrorDetails> handleUserNotFoundException(StudentNotFoundException ex, WebRequest request) {
    ErrorDetails errorDetails = new ErrorDetails(new Date(), ex.getMessage(),
        request.getDescription(false));
    return new ResponseEntity<>(errorDetails, HttpStatus.NOT_FOUND);
  }

Для получения дополнительной информации вы можете обратиться http://www.springboottutorial.com/spring-boot-validation-for-rest-services

...