spring - 将 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”类型
我该如何解决这个问题?
解决方案
您需要具有与您的输入相匹配的自定义模式的@DateTimeFormat
@GetMapping("/datum/{userID}/{timeStamp}")
List<Datum> getDataSingleUserTimeRange(@PathVariable Long userID, @PathVariable @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSSSS") LocalDateTime timeStamp)
{
}
推荐阅读
- swift - 为什么我的选择器视图没有出现在某些文本字段上?
- java - 如何使用 JPA(EclipseLink)将 BigDecimal(如 13.50)存储在 DB 中?
- javascript - 将变量数据发送到同一文件上的另一个函数
- c++ - 第一个字在打印时总是被删除
- java - Java在XML中多次匹配标签名称
- c# - 这是拥有轻量级对象的好习惯吗?
- c# - 为什么我必须显式键入局部变量?
- javascript - NuxtJS - npm run build 命令不起作用
- ios - 反应原生IOS前台,收不到推送通知
- java - java bouncy-castle KeyAgreement.getInstance 在 Eclipse 中工作但抛出异常:JCE 无法在 jared 时验证提供者 BC