복붙노트

[SPRING] Spring 3.1에서 Jackson SerializationConfig.Feature 설정은 어디에 지정해야합니까?

SPRING

Spring 3.1에서 Jackson SerializationConfig.Feature 설정은 어디에 지정해야합니까?

Spring이 기본 Jackson 구성을 사용자 정의한 것처럼 보이는 jackson의 기본 포함을 사용하는 이유에 대해 의아해합니다.

한가지 설정은 WRITE_DATES_AS_TIMESTAMPS입니다. Jackson의 기본값은 true이지만 Spring에서는 이것을 false로 변경했으며 날짜 형식도 제공합니다.

세상 어디에서 이런 일이 벌어지고 있습니까? 나는 나의 연대가 숫자로 연재되기를 원한다.

업데이트 : 문제가 발생하는 스프링이 아니라 실제로 문제를 일으키는 최대 절전 모드 프록시 클래스입니다. 어떤 이유로 hibernate가 type = "date"타입 맵핑을 가지고 있다면, 그것은 date string으로 serialize된다. 그러나 type = "timestamp"라면, 예상대로 직렬화된다. 이것에 대해 너무 많은 시간을 들여다 보지 않고 모든 맵핑을 타임 스탬프로 변경하기로 결정했습니다.

해결법

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

    1.3.1 M1부터 mvc : annotation-driven의 하위 요소를 통해 HttpMessageConverters를 등록하여 jackson 사용자 지정 구성을 지정할 수 있습니다.

    3.1 M1부터 mvc : annotation-driven의 하위 요소를 통해 HttpMessageConverters를 등록하여 jackson 사용자 지정 구성을 지정할 수 있습니다.

    스프링 3.1 MVC 네임 스페이스 개선 참조

    SPR-7504를 참고하십시오. AnnotationMethodHandlerAdapter에 새 메시지 변환기를 쉽게 추가 할 수있게하십시오.

    예 :

    <bean id="jacksonObjectMapper" class="x.y.z.CustomObjectMapper">                
    </bean>
    
    <mvc:annotation-driven>
        <mvc:message-converters>
           <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
               <property name="objectMapper" ref="jacksonObjectMapper" />
           </bean>
           </mvc:message-converters>
    </mvc:annotation-driven>
    

    CustomObjectMapper 개체

        @Component("jacksonObjectMapper")
        public class CustomObjectMapper extends ObjectMapper {
    
            @PostConstruct
            public void afterPropertiesSet() throws Exception {
    
                SerializationConfig serialConfig = getSerializationConfig()     
                            .withDateFormat(null);
    
                      //any other configuration
    
                this.setSerializationConfig(serialConfig);
            }
        }
    
  2. from https://stackoverflow.com/questions/9576907/where-do-i-specify-jackson-serializationconfig-feature-settings-in-spring-3-1 by cc-by-sa and MIT license