首页 > 解决方案 > 将 localDateTime 字符串正确解析为 Spring Boot @pathVariable

问题描述

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

@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”类型

我该如何解决这个问题?

标签: springspring-bootspring-data-jpaspring-data

解决方案


您需要具有与您的输入相匹配的自定义模式的@DateTimeFormat

@GetMapping("/datum/{userID}/{timeStamp}")
List<Datum> getDataSingleUserTimeRange(@PathVariable Long userID, @PathVariable @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSSSS") LocalDateTime timeStamp)
{

}

推荐阅读