【发布时间】:2022-06-10 22:41:16
【问题描述】:
微航海 1.3 杰克逊 2.13.1
我以'dd.MM.yyyy' 格式传递日期
我的类字段如下所示
@JsonInclude
@Column(name = "moving_date")
@JsonView(JsonViewSimple.class)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd.MM.yyyy")
private LocalDate moving_date;
在我使用'02.06.2022' 发出帖子请求后,我收到一个错误
Failed to convert argument [obj] for value [null] due to: Cannot deserialize value of type `java.time.LocalDate` from String \"02.06.2022\": Failed to deserialize java.time.LocalDate: (java.time.format.DateTimeParseException) Text '02.06.2022' could not be parsed at index 0\n at [Source: UNKNOWN; byte offset: #UNKNOWN]
在其他类中,我有类似的日期字段,带有模式和相同的注释集,没有这样的错误。
谁能帮忙?
我还编写了自定义和日期序列化器和反序列化器, 但是当我启用调试时 - 程序没有命中其中任何一个断点并立即发生错误。
但如果我以格式传递日期
yyyy-MM-dd
那么没有错误,一切都很好。
据我了解,这个错误发生在 Micronaut 深处的某个地方。
【问题讨论】:
-
解析是由 Jackson 而不是 Micronaut 完成的。您是否声明了
com.fasterxml.jackson.datatype.jsr310.JavaTimeModule依赖项?见:github.com/FasterXML/jackson-modules-java8