在@RestController上使用Spring @PageableDefault时忽略分页参数

时间:2019-07-15 09:01:40

标签: spring-mvc kotlin spring-data

我正在使用Spring-Boot 2.1.6,我有一个Rest Controller,该控制器可以使用spring-data的Pageable接口进行分页。当我发出请求时,定义与分页默认值不同的分页参数,例如从Angular应用程序中使用http://localhost:8080/tasks?size=100&page=0作为大小参数的Number.MAX_SAFE_INTEGER,尽管我已请求200个任务,但我却获得了10个任务(与size中的默认@PageableDefault相同)。是的,我确实有十多个任务

@RestController
@RequestMapping("/tasks")
class TasksController(
    private val taskService: TasksService,
    private val tasksRepository: TasksRepository
) {
    @GetMapping
    fun list(
        @RequestParam(required = false) state: TaskState?,
        @PageableDefault pageable: Pageable
    ): Page<Task> =
        return tasksRepository.findByState(state, pageable)

1 个答案:

答案 0 :(得分:0)

事实证明,问题是自我造成的。 Number.MAX_SAFE_INTEGER产生9,007,199,254,740,991,比Java的Integer.MAX值(2,147,483,648)大得多,并且Pageable接口使用int作为size