다중 모듈 Maven 기반 스프링 부트 응용 프로그램이 있습니다. 내 모듈의 'application.properties
파일 중 하나에서 잭슨을 으로 설정하지 않고을 타임 스탬프 (배열)로 날짜를 serialize하지 않으므로 항상 문자열 (대체 동작)으로 직렬화됩니다. 속성은 다음과 같습니다.스프링 부트 : Jackson이 "application.properties"에서 구성을 선택하지 않습니다.
spring.jackson.serialization.write_dates_as_timestamps=false
문제는 ... 속성이 Spring Boot/Jackson에서 선택되지 않은 것 같습니다. serialize하려고 시도하는 java.time.LocalDate
인스턴스는 항상 타임 스탬프로 기록됩니다. 나는 (잭슨의 자신의 JavaTimeModule에서)를 LocalDateSerializer.serialize(...)
방법 내부의 코드를 확인하고,이를 발견 :
@Override
public void serialize(LocalDate date, JsonGenerator generator, SerializerProvider provider) throws IOException
{
if (useTimestamp(provider)) { // This always returns true
generator.writeStartArray();
generator.writeNumber(date.getYear());
generator.writeNumber(date.getMonthValue());
generator.writeNumber(date.getDayOfMonth());
generator.writeEndArray();
} else {
String str = (_formatter == null) ? date.toString() : date.format(_formatter);
generator.writeString(str);
}
}
useTimestamp()
방법에 관계없이 항상 내 구성이 무엇인지, 진정한 반환하지 않습니다. :(
WebMvcConfigurerAdapter를 확장해야합니까? – Enrique
나는 위의 예에서 보여준대로 일을 해왔다. 'ObjectMapper'의 행동에 대한 더 많은 통제. –
커스텀'HttpMessageConverter'를 생성하면 설정하려고했던'RestTemplate' 인스턴스에 명시 적으로 주입해야한다는 것을 알 수있었습니다. 내 결과를 자세히 설명하는 답변을 추가했습니다. :) – Enrique