我正在使用投影,我需要在对象列表中格式化日期变量,但是页面<>类型响应是只读的,所以我不能迭代和修改对象 . 我该怎么办?
@Override
public Page<OrderDto> findAll(Pageable pageable) {
return OrderDao.findByIsEnabledTrue(pageable, OrderDto.class);
}
我试过这样的:
@Override
public Page<OrderDto> findAll(Pageable pageable) {
Page<OrderDto> page = orderDao.findByIsEnabledTrue(pageable, OrderDto.class);
List<OrderDto> orderDtos = page.getContent();
orderDtos.stream().forEach(it ->{
it.setFormattedCreatedAt(new SimpleDateFormat("dd-M-yyyy").format(it.getCreatedAt()));
});
page.getContent().clear();
page.getContent().addAll(orderDtos);
return page;
}
2 回答
从1.10开始,
Page
已经支持a map method,它专门用于转换其中包含的对象 .page.getContent()返回一个不可修改的列表 . 最好的方法是使用
page
提供的map方法: