Spring Data 2.0 是否更改了有关排序和分页的可空性规则?



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

当我看到关于迁移的讨论时,看起来很简单,但不适合我。我遇到了两个非常大的问题:

  1. 我实现了一个过滤器来制作一个解密 uri 的过程,并使用请求调度程序再次调用过滤器。在 1.5.6 中代码还可以,请求进入doFilter,未加密,httpRequest.getDispatcher.forward并第二次调用doFilter最终调用chain.doFilter

    现在在 spring-boot 2.1.7 请求调度程序的前锋没有达到第二次doFilter......从来没有找到过上面的文档。

  2. /api/users这样的基本调用(这意味着findAll(在 1.5.6 上工作,但在 2.1.7 中因排序原因而失败。我不能打电话给像/api/users这样的findAll/api/users/7/books我总是收到错误:

java.lang.NullPointerException at org.springframework.data.jpa.repository.support.Querydsl.applySorting(Querydsl.java:128(

有人得到解释吗?

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

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

  • DATACMNS-1568(已修复(- 存储库参考文档中有关可为空性的常规文档更新。
  • DATACMNS-1569(已修复( - Querydsl API 中的可空性约束。
  • DATAJPA-1594(已修复( - 在 Spring Data JPA Querydsl 集成中收紧可空性约束。

最新更新