복붙노트

[SPRING] [단순 유형, 클래스 java.time.LocalDate 유형의 값을 인스턴스화 할 수 없습니다.

SPRING

[단순 유형, 클래스 java.time.LocalDate 유형의 값을 인스턴스화 할 수 없습니다.

여기에 자바 1.8의 LocalDate 클래스를 사용하고 있습니다. 빈에서 LocalDate로 리턴 타입을 사용했습니다. 그리고 나는 date formate를 07/01/2017로 보내고 있습니다. 내가 그것을 구하려고 할 때 나는 예외를 받고있다.

org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver] (default task-33) Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: Can not instantiate value of type [simple type, class java.time.LocalDate] from String value ('07/01/2017'); no single-String constructor/factory method
 at [Source: java.io.PushbackInputStream@39959f38; line: 1, column: 650] (through reference chain: com.pro.bean.ParentBean["Soici"]->com.pro.bean.Soici["fecha_de_solicitud"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not instantiate value of type [simple type, class java.time.LocalDate] from String value ('07/01/2017'); no single-String constructor/factory method
 at [Source: java.io.PushbackInputStream@39959f38; line: 1, column: 650] (through reference chain: com.pro.bean.ParentBean["Soici"]->com.pro.bean.Soici["fecha_de_solici"])

해결법

  1. ==============================

    1.com.fasterxml.jackson.datatype-jsr310 종속성 추가

    com.fasterxml.jackson.datatype-jsr310 종속성 추가

    그런 다음 Jackson2ObjectMapper를 다음과 같이 구성하십시오.

     @Bean(name = "OBJECT_MAPPER_BEAN")
        public ObjectMapper jsonObjectMapper() {
            return Jackson2ObjectMapperBuilder.json()
                    .serializationInclusion(JsonInclude.Include.NON_NULL) // Don’t include null values
                    .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) //ISODate
                    .modules(new JSR310Module())
                    .build();
        }
    

    자료 제공 : https://blog.oio.de/2015/06/13/add-support-for-java-8-date-time-api-to-jackson-serialized-rest-web-services/

  2. from https://stackoverflow.com/questions/41518051/can-not-instantiate-value-of-type-simple-type-class-java-time-localdate by cc-by-sa and MIT license