无法覆盖Spring Boot 2.1.5.RELEASE中的分页默认值?

时间:2019-06-27 07:34:49

标签: mongodb spring-data-mongodb pageable

我正在研究Spring Boot Spring Data Mongo Pageable示例。如果没有人提供任何值,我想将分页值设置为默认值page=1size=5

现在,当用户提供任何值时,我希望Pageable对象使用这些值而不是默认值。

已修复的Bug:https://jira.spring.io/browse/DATAMONGO-2313

在我的情况下不起作用。请指导。我在我的应用程序中使用Spring HATEOAS

@GetMapping()
public ResponseEntity<Page<Student>> getAllstudents(Pageable pageable){
    return studentService.findAllstudents(pageable);
}

application.yml文件中

# Mongo DB details
  data:
    mongodb:
      database: TEST
      host: localhost
      port: 27017

    web:
      pageable:
        default-page-size: 2
        size-parameter: 0
        one-indexed-parameters: true
        page-parameter: page

或者我想像下面那样使用Spring Boot

<mvc:argument-resolvers>
            <bean class="org.springframework.data.web.PageableHandlerMethodArgumentResolver" >
                <property name="oneIndexedParameters" value="true"></property>
                <property name="pageParameterName" value="page"></property>
                <property name="sizeParameterName" value="size"></property>
                <property name="fallbackPageable">
                    <bean class="org.springframework.data.domain.PageRequest">
                        <constructor-arg name="page" value="1" />
                        <constructor-arg name="size" value="${paging.default.pageSize}" />
                    </bean>
                </property>
            </bean>
        </mvc:argument-resolvers>

Swagger UI:

enter image description here

1 个答案:

答案 0 :(得分:0)

我看到的报告是application.yml中的pageable设置仅适用于Spring HATEOAS。我会尝试改用@PageableDefault注释。