Spring Data rest无法从数据库表中获取两个日期之间的数据。
Collection<XXXX> findByCreatedOnBetween(LocalDate fromDate, LocalDate todayDate);
From Bean
private LocalDate createdOn;
Collection<XXXX> findByCreatedOnBetween(LocalDate fromDate, LocalDate todayDate);
private LocalDate createdOn;
我想要两个日期之间的数据:
SELECT
*
FROM
testing testing
WHERE
testing.created_on BETWEEN ? AND ? ;
我相信Spring Data Rest默认仅接受ISO 8601日期格式(例如2018-10-22
。
如果要接受其他格式的日期,则需要添加转换器。
@Configuration
public class RepositoryRestConfig extends RepositoryRestConfigurerAdapter {
@Autowired
CustomDateConverter customDateConverter;
@Override
public void configureConversionService(ConfigurableConversionService conversionService) {
conversionService.addConverter(customDateConverter);
super.configureConversionService(conversionService);
}
}
@Component
public class CustomDateConverter implements Converter<String, LocalDate > {
@Override
public LocalDate convert(String source) {
return LocalDate.from(DateTimeFormatter.ofPattern("dd-MMM-yy").parse(source));
}
}