当前位置: 首页 > 知识库问答 >
问题:

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

郭彬郁
2023-03-14

我试图获取一个用户的所有数据,该用户有一个时间戳:

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

现在,为了测试这个Spring Boot rest api,我在postman中调用了GET和urlhttp://localhost:8080/datum/2/2019-12-15T19:37:15.330995。

但它给我的错误是:未能转换“java”类型的值。lang.String“to required type”java。时间LocalDateTime'

我该如何解决这个问题??

共有2个答案

辛建业
2023-03-14

我不知道这是否是最谦虚的方式,但以下是我所做的:

@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.truncated(ChronoUnit.NECESARRY_UNIT);也可以使用。

谭健柏
2023-03-14

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

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

}
 类似资料:
  • 问题内容: 我一直在搜索,只是找不到解释或原因,但DateFormat的parse(String)方法只是不能正确解析我的String。 我正在尝试将String解析为用于HTTP标头的日期格式,并尽可能地获取String,例如: 格式为: 但是,当我使用它时,我会从中得到: 哪一个都不像我想要的,为什么现在格林尼治标准时间之后的一年?为什么不再有逗号?为什么日期在一个月之后? 我现在对此完全感到

  • 问题内容: 我有一个将存储Number对象的列表。该列表将通过分析字符串列表来填充,其中每个字符串都可以表示Number的任何子类。 如何将字符串解析为通用数字,而不是特定的整数或浮点数? 问题答案: 数字不能实例化,因为它是抽象类。我建议传入数字,但是如果您设置为字符串,则可以使用任何子类来解析它们, 要么 @请参阅NumberFormat

  • 问题内容: 我正在从数据库读取属性文件。我检查了,没有方法可以从实例中解析。有什么办法吗? 问题答案: 没错,没有从a读取方法,但实际上它有从or 读取的更通用的方法。 因此,如果您有某种方式将您的信息以任何一种方式呈现出来,那么您可以致电,即有效地逐个迭代字符的源。这感觉它应该存在,并且确实存在-java.io.StringReader。 那么,将其组合起来非常简单:

  • 问题内容: 我有一个格式的字符串时间。我没有找到任何格式来解析此字符串值。有什么办法可以将此字符串值转换为 Gotime.Time吗? 编辑-这不是重复的问题。我知道如何解析,但是我没有意识到我们可以使用除时间格式包中所列之外的任何布局。这个答案消除了我的疑惑。 问题答案: 这是完全,所以使用格式字符串(布局)。 例: 输出(在Go Playground上尝试): 引自以下文档的文档: 解析解析一

  • 问题内容: 我试图解析一个字符串,以分隔字符串中的列表。我目前有字符串: 有什么方法可以解析字符串,以便字典键是列表的第一个元素,而键的值是元素的下一个。例如: 问题答案: insted的的,你可以有列表: 您可以使用从字符串解析Python数据结构

  • 问题内容: 我有这个字符串:10,692,467,440,017.120(是一个数字)。 我想将其解析为BigDecimal。问题是我没有尝试过DecimalFormat和NumbeFormat。有什么帮助吗? 问题答案: 试试这个 如果要构建具有I18N支持的应用程序,则应使用 还请记住,它可能会引发a,因此您需要处理它(使用try / catch)或引发它,然后让程序的另一部分处理它