java - Spring Pageable Sort 更改属性名称
问题描述
有没有办法映射 Sort 对象的属性?只是一个小例子:
一个Dto
public class OrderDto {
private long totalAmount;
private long openAmount;
}
和一个实体
@Entity
public class Order {
private long amount;
}
和一个控制器
@RestController
public class OrderController {
@GetMapping("/orders")
public Page<OrderDto> findOrders(Pageable pageable) {
// Do something
}
}
我现在会打电话/orders?sort=totalAmount,desc
是否可以映射排序属性,在这种情况下,totalAmount
从 Dto 到仅以amount
一种迷人的方式将其用于生成的 JPA 查询?
解决方案
我不知道我是否正确地回答了你的问题,但是...
我是否理解您是否正确,您希望将请求参数与通过给定对象的对象可用sort
的值映射为(使用 order )?totalAmount,desc
Sort
Pageable
amount
desc
由于您在帖子中提到的名称,我希望您在类路径上有 Spring Data。
IDKFS 但也许类SortHandlerMethodArgumentResolverCustomizer
可以帮助您自定义SortHandlerMethodArgumentResolver
方式,您可以像想要的那样映射请求参数。
如果没有,应该可以提供一个SortHandlerMethodArgumentResolver
实现您想要的行为的@Bean 类型。
我不完全确定框架是否允许覆盖您需要自定义的特定部分,但 IMO 值得一看。:)
推荐阅读
- firebase - 有没有办法让三元运算符适用于 Cloud Firestore 安全规则?
- java - 如何在打开另一个 JFrame 时禁用 JFrame
- javascript - 在集合 Div 中创建 Mosiac 图像库
- c# - 通过完全限定的对象名称而不是字符串访问资源
- ruby-on-rails - 此 Ruby 代码是否正确使用线程、线程池和并发性
- javascript - Vuejs:将 SAVE 函数传递给 CRUD 组件
- html - 字体显示不正确
- python - 给定另一列的值替换熊猫数据框中的值
- mongodb - MongoDB 使用 group 和 unwind 计算出现次数
- java - 错误:不兼容的类型:
无法使用 android room 转换为 int if (!_cursor.isNull(null))