Spring数据休息排序带有下划线的字段

Rin*_*nce 10 java json spring-data spring-data-jpa spring-data-rest

我们@RepositoryRestResourcePagingAndSortingRepository连接到postgres数据库的顶部使用了一个非常简单的设置.我们还配置spring.jackson.property-naming-strategy=SNAKE_CASE了返回漂亮的json.在我们开始排序之前,这一切都很好,很花哨.正如我们所发现的 - 排序要求我们提供实际的类字段名称(我们当然在驼峰的情况下):

get("/thing?sort=dateCreated,desc")

当我们尝试javascript友好

get("/thing?sort=date_created,desc")

它失败了,因为jpa试图用下划线拆分参数.

是否有一种简单的方法让路径params与我们在json中返回的格式相同?

jan*_*nis 5

有一个错误--DATAREST-883.它被修复并发布.但是,由于回归(DATAREST-909),这已经在下一个版本中被删除了.我在Github上问过他们是否打算再次这样做,因为过去这也让我感到困惑.我们将看到他们对此有何看法.

现在你可以:

  • 离开吧
  • 配合驼峰案例属性名称
  • 解决这个问题(例如,与Alan Haye的回答) - 这似乎是脆弱的恕我直言,但可能会在短期内做.

我测试过的最新spring-boot版本中的功能状态:

  • 1.4.0(spring-data-rest 2.5.2):尚未实现 - > 代码
  • 1.4.1(spring-data-rest 2.5.3):有效
  • 1.4.2(spring-data-rest 2.5.5):掉线