spring-rest - 如果传递了无效的大小或页面,默认分页不会引发异常
问题描述
当将无效的大小或页面传递给后端时,Spring 使用其默认的 Pageable 对象(page = 0,size = 20)而不是抛出异常。有没有办法覆盖这种行为?我需要它来抛出稍后将由我的异常处理程序处理的异常,因此用户将看到 400 - BadRequest。
我尝试通过将 fallBackPageable 设置为自定义 Pageable 来配置 PageableHandlerMethodArgumentResolver。但它没有成功。我可以将一个默认的 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;
解决方案
推荐阅读
- javascript - 如何使用计算属性和道具过滤对象 [VueJS]
- java - Java springboot websocket,浏览器和服务器之间没有连接
- python - 如何从python中的字符串中的每个单词中提取数字
- c++ - 在 Visual Studio 2005 上的 C++ 应用程序中设置代理
- elasticsearch - Elasticsearch 按 inner_hits 总值排序
- java - Java Spring 休眠和反射
- android - NavigationDrawer - 每个片段的不同工具栏
- python - 将各种文本字段的输入输入标签并将其保存为文件
- bash - 当我使用“cat”命令将文本文件的内容放入变量时,变量不会被解释
- protocol-buffers - 带有字节字段的 Protobuf 结构