Когда недопустимый размер или страница передаются бэкэнду, Spring использует свой объект Pageable по умолчанию (с page = 0, size = 20) вместо того, чтобы выдавать исключение. Есть ли способ переопределить это поведение? Мне нужно, чтобы оно генерировало исключение, которое позже будет обработано моим обработчиком исключений, поэтому пользователь увидит 400 - BadRequest.
Я попытался настроить PageableHandlerMethodArgumentResolver, установив fallBackPageable для пользовательского Pageable. Но это не сработало. Я могу изменить один Pageable по умолчанию на другой (с другими значениями страницы и размера), но не могу заставить его выбросить исключение.
@GetMapping("all")
public ResponseEntity<PageableDto> getAllUsers(@ApiIgnore Pageable pageable) {
return ResponseEntity.status(HttpStatus.OK).body(userService.findByPage(pageable));
}
- Вот запрос
curl -X GET "http://localhost:8080/user/all?page=-99&size=-99""
; - А вот что обычно поступает в контроллер: page = 0, size = 20;