小编典典

将localDateTime字符串正确解析为spring boot @pathVariable

spring-boot

我正在尝试获取具有时间戳的用户的所有数据:

@GetMapping("/datum/{userID}/{timeStamp}")
    List<Datum> getDataSingleUserTimeRange(@PathVariable Long userID, @PathVariable LocalDateTime timeStamp)
    {
          ....
    }

现在要测试这个Spring Boot rest api,在邮递员中,我打电话GET和url-
http://localhost:8080/datum/2/2019-12-15T19:37:15.330995

但这给了我错误提示: 无法将类型’java.lang.String’的值转换为所需的类型’java.time.LocalDateTime’

我该如何解决?


阅读 414

收藏
2020-05-30

共1个答案

小编典典

我不知道这是否是最适度的方法,但这是我所做的:

@GetMapping("/datum/{userID}/{timeStamp}")
    List<Datum> getDataSingleUserTimeRange(@PathVariable Long userID, @PathVariable String timeStamp)
    {
        DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
        LocalDateTime dateTime = LocalDateTime.parse(timeStamp, formatter);
        ...
        return datumRepository.findUsingTime(start,end);
    }

作为字符串传递并进行解析。并且dateTime.truncatedTo(ChronoUnit.NECESARRY_UNIT);可以使用。

2020-05-30