- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 spring boot 2.2.2、java 11 中,通过 Ibm mq 接收对象。
接收到的对象具有 LocalDate 数据类型。
项目在 maven 中有 spring-boot-starter-web starter。
我在项目中看到这些 jar
jackson 数据类型-jdk 8-2.10.1 jackson 数据类型-jsr310-2.10.1
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class BillingEvent {
public Long Id;
public LocalDate billingCreatedDate;
}
在我的属性中,我有
spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
我收到错误
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of
java.time.LocalDate
(no Creators, like default construct, exist): no String-argument constructor/factory method to deserialize from String value ('2019-09-02')
最佳答案
对我来说,将 setter 添加到您的 BillingEvent
中就足够了,例如:
public void setBillingCreatedDate(String str) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
billingCreatedDate = LocalDate.parse(str, formatter);
}
有关格式设置的更多信息,请参见:String to LocalDate
基于评论:
这个Is there a jackson datatype module for JDK8 java.time?可能对您有帮助,如果没有,则不提供帮助,下面是一个工作实现的示例。 (没有任何检查等):
public class LocalDateDeserializer extends JsonDeserializer<LocalDate> {
private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
@Override
public LocalDate deserialize(JsonParser p, DeserializationContext ctxt)
throws IOException, JsonProcessingException {
return LocalDate.parse(p.readValueAs(String.class), formatter);
}
}
您也可以在其他地方使用它,就像在 BillingEvent
中使用它一样:
@JsonDeserialize(using = LocalDateDeserializer.class)
public LocalDate billingCreatedDate;
关于java - jackson 的 InvalidDefinitionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59419027/
在 spring boot 2.2.2、java 11 中,通过 Ibm mq 接收对象。 接收到的对象具有 LocalDate 数据类型。 项目在 maven 中有 spring-boot-star
我有几个 Kotlin 数据类实现了这个 TypeAlias 接口(interface): import com.fasterxml.jackson.annotation.JsonValue; pub
我正在尝试使用 spring-boot 和 webclient 调用 Web API。 web api 是 graph ql 的。所以我使用 JsonObject 传递参数,如下所示。 JSONObj
我正在尝试使用 Jackson 的 ObjectMapper 将以下 Player 对象编写为字符串。 package models.Game; import models.Game.Enums.Sn
在我在Spring Boot中构建的REST端点中,我试图将vehicleDTO传递给 Controller 。但是在到达我的 Controller 之前,有一个错误。 InvalidDefini
我正在使用 Jackson 将以下 json 映射到 Map : { "keyA": "java.lang.Double", "keyB": "[Ljava.lang.Doub
我从 API 获得了一个 Json 字符串,并希望将其解析为 Kotlin 对象。 我的杰森: { "Title": "The Secret Life of Walter Mitty", "Y
出现错误, com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class c
尝试将 @JsonCreator 与 @JsonProperty(value = "version", access = JsonProperty.Access.READ_ONLY) 一起使用时遇到
我已经更新了我的依赖,就像你在评论中所说的那样,我现在有了这个: org.springframework.context.ApplicationContextException: Unable to
我有一些实体:用户、角色、权限。对于所有三个实体,我有三个操作,然后将它们公开为 REST api。 findOne()、findAll() 和 create()。问题是: 角色:所有三个操作都有效。
我在执行以下代码时收到com.fasterxml.jackson.databind.exc.InvalidDefinitionException:没有为ObjectReader配置值类型问题 jack
存储在 Elastic 中的员工的生日似乎存储为不正确的数据类型。我有 Elasticseach 客户端的设置代码,带有对象映射器和注册的 JavaTime 模块。我正在尝试从 Elasticsear
在我的 Java 8 代码中,我尝试将字符串日期格式化为 LocalDate 格式。我正在使用 LocalDateDeserializer.class。我收到错误 com.fasterxml.jack
我有一个带有以下假客户的项目 @FeignClient(name = "name", url = "${tokenService}") public interface TokenService {
我目前正在尝试将 JSON 请求直接映射到 XML 定义。我的想法是,我有一个使用 SOAP 服务并将其公开为 RESTful 服务的 Spring Boot 应用程序; 下面是 SOAP 绑定(bi
我正在尝试从 spring boot Controller 访问上传的文件,但出现错误 com.fasterxml.jackson.databind.exc.InvalidDefinitionExce
我已经通过链接:JSON parse error: Can not construct instance of java.time.LocalDate: no String-argument cons
我是一名优秀的程序员,十分优秀!