Вы, вероятно, можете установить эту операцию в своем приложении. Properties:
spring.jackson.serialization.write_dates_as_timestamps=false
В процессе миграции, если вы добавили одну из следующих зависимостей, попробуйте удалить ее:
jackson-modules-java8
jackson-datatype-jsr310
[ОБНОВЛЕНО]
Другой способ, вы можете написать сериализатор для Instant:
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.time.Instant;
public class CustomInstantSerializer extends JsonSerializer<Instant> {
@Override
public void serialize(Instant o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
jsonGenerator.writeObject(new EpochInstant(o));
}
public static class EpochInstant {
private final long epochSecond;
private final int nano;
EpochInstant(Instant instant) {
this.epochSecond = instant.getEpochSecond();
this.nano = instant.getNano();
}
}
}
И есть класс Configuration, устанавливающий Instant для использования вашего сериализатора:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import java.time.Instant;
@Configuration
public class JacksonConfiguration {
@Bean
@Primary
public ObjectMapper objectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
JavaTimeModule javaTimeModule = new JavaTimeModule();
javaTimeModule.addSerializer(Instant.class, new CustomInstantSerializer());
return objectMapper;
}
}