У меня есть проект, который отлично работает на Java 8 и работает на Wildfly 9.
Я использую некоторые конечные точки REST для сериализации некоторых объектов Java в JSON.Это настроено с помощью Resteasy и @Produces(MediaType.APPLICATION_JSON)
.
. Я сейчас пытаюсь преобразовать проект для работы на wildfly 14 и Java 11.
По какой-то причине в предыдущей версии Date
объекты были экспортированы как числовые значения.В новой среде даты экспортируются в текстовом формате (например, 2018-12-03T10:05:33.39Z[UTC]
).
Странно то, что некоторые свойства данных некоторых объектов все еще экспортируются в числовом формате, а другие - в текстовом.формат.
Я пытался включить функцию WRITE_DATES_AS_TIMESTAMPS
, но это не меняет результат.
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.Provider;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
@Provider
@Produces(MediaType.APPLICATION_JSON)
public class JacksonConfig implements ContextResolver<ObjectMapper> {
private final ObjectMapper objectMapper;
public JacksonConfig()
{
objectMapper = new ObjectMapper();
objectMapper.enable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
}
@Override
public ObjectMapper getContext(Class<?> objectType)
{
return objectMapper;
}
}