При попытке извлечь данные с помощью Resteasy я получаю следующее исключение:Resteasy с Джексоном вызывает сериализации JsonMappingException
вызвано следующими причинами: org.codehaus.jackson.map.JsonMappingException: Нет сериалайзер найдено для класса орг .hibernate.proxy.pojo.javassist.JavassistLazyInitializer и никаких свойств обнаружили для создания BeanSerializer (чтобы избежать исключений, отключить SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS)) (через эталонной цепи: les.core.modules.profile.Profile [» письма "] -> org.hibernate.collection.internal.PersistentSet [0] -> mappi ng.social.employee.email.Email [ "состояние"] -> mapping.system.enums.DataState _ $$ _ javassist_172 [ "обработчик"])
Я посмотрел в Интернете и обнаружил, что из-за Джексон пытается сериализовать данные, которые не загружены (пока). Я нашел где-то возможность отключить исключения с помощью такой конфигурации Джексона:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
public class JacksonConfig extends JacksonJsonProvider {
public JacksonConfig() {
ObjectMapper mapper = new ObjectMapper();
mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
// setMapper(mapper);
}
}
Но я не знаю, как заставить его работать, я имею в виду, как следует метод setMapper
выглядеть? Я не использую Spring. Я также попытался пояснить класс «Email» следующим образом:
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
Это не помогло. Я не хотел бы комментировать каждый получатель, который «@JsonProperty» или так, мне бы очень хотелось отключить это исключение, используя конфигурационный класс.
вот моя зависимость:
<dependencies>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.0.4.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>3.0.4.Final</version>
</dependency>
</dependencies>
почему вы не выбрать правильный ответ – ACV