SpringData2.0是否更改了排序和分页的可空性规则?

SpringData2.0是否更改了排序和分页的可空性规则?,spring,spring-data-jpa,spring-data,Spring,Spring Data Jpa,Spring Data,我正在从spring boot 1.5.6迁移到2.1.7,面临着很多问题 当我看到关于迁移的讨论时,看起来很简单,但对我来说不是。我有两个非常大的问题: 我实现了一个过滤器来生成一个uncrypt uri进程,并使用请求调度器再次调用过滤器。在1.5.6中,代码正常,请求进入doFilter,取消加密,httpRequest.getDispatcher.forward并再次调用doFilter,最后调用chain.doFilter 现在在spring boot 2.1.7中,requestDi

我正在从spring boot 1.5.6迁移到2.1.7,面临着很多问题

当我看到关于迁移的讨论时,看起来很简单,但对我来说不是。我有两个非常大的问题:

  • 我实现了一个过滤器来生成一个uncrypt uri进程,并使用请求调度器再次调用过滤器。在1.5.6中,代码正常,请求进入
    doFilter
    ,取消加密,
    httpRequest.getDispatcher.forward
    并再次调用
    doFilter
    ,最后调用
    chain.doFilter

    现在在spring boot 2.1.7中,requestDispatcher的转发没有达到第二次
    doFilter
    。。。从来没在上面找到过医生

  • /api/users
    (这意味着
    findAll
    )这样的基本调用在1.5.6上工作,但在2.1.7中由于排序的原因导致NPE失败。我不能调用像
    /api/users
    /api/users/7/books
    这样的
    findAll
    ,我总是得到一个错误:

  • 位于的java.lang.NullPointerException org.springframework.data.jpa.repository.support.Querydsl.applySorting(Querydsl.java:128)


    有人得到解释了吗?

    是的。
    Sort
    Pageable
    现在都通过
    Sort.unsorted()
    Pageable.unpaged()
    公开专用的空对象,特别是表示没有排序或分页信息

    如果启用基于注释的空值验证,您应该已经看到IDE警告。也就是说,我只是重新检查了Javadoc和ReferenceDoc,认为我们可以在这里做得更好。我已经提交了以下票据:

    • (已修复)-关于存储库参考文档中可空性的常规文档更新
    • (修复)-Querydsl API中的可空性约束
    • (修复)-收紧Spring数据JPAs Querydsl集成中的可空性约束

    据我所知,现在必须指出参数页和排序?在spring-boot2的更改中没有指明。我的IDE“Eclipse”没有发出警告,它不是实现的代码,而是由依赖注入的,我是由邮递员而不是代码行调用的。你能告诉我你是否会改进文档吗?在这种情况下,我们应该如何放置默认的排序和分页?这在我的回答中提到:
    Pageable.unpaged()
    sort.unsorted()
    。假设您有一个方法
    findByUsername(String username,sort sort)
    ,而不是用
    findByUsername(“username”,null)
    调用它来不应用任何排序,您现在必须
    findByUsername(“用户名”,Sort.unsorted())
    。这同样适用于
    Pageable