Spring中Controller与Repository应选用哪个Pageable类?
Spring中两个Pageable类的分层选用说明
Spring类库中的两个Pageable类定位完全不同,分层选用规则如下:
Controller层
直接使用 org.springframework.data.domain.Pageable 作为方法参数即可。Spring Boot的自动配置会自动把前端传入的分页参数(比如page、size、sort)绑定到这个接口的实现类上,无需手动转换。
如果需要调整Web层分页参数的默认行为(比如默认页码、每页条数、参数名前缀),可以通过配置SpringDataWebProperties.Pageable对应的属性(比如在application.yml里配置spring.data.web.pageable.*)来实现,但这个类本身不需要作为Controller的方法参数,它只是个配置载体。
Repository层
必须使用 org.springframework.data.domain.Pageable。这是Spring Data定义的核心分页接口,所有Repository的分页查询实现都是基于它来设计的,是Repository层处理分页的标准依赖。
内容的提问来源于stack exchange,提问作者Jordi
相关产品推荐
相关产品推荐

