Resteasy экспортирует даты в текстовом формате для wildfly 14 (Java 11), в отличие от числового формата в wildfly 9 (Java 8) - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть проект, который отлично работает на 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;
    }
}

1 Ответ

0 голосов
/ 04 декабря 2018

Эта проблема была связана с переключением с Джексона на JSONB.

Более подробно это объясняется в этой теме .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...