37 lines
1.4 KiB
Java
37 lines
1.4 KiB
Java
package configs;
|
|
|
|
import java.util.List;
|
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.http.converter.HttpMessageConverter;
|
|
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
|
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
|
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
|
import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module;
|
|
import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module.Feature;
|
|
|
|
@Configuration
|
|
@EnableWebMvc
|
|
public class WebConfiguration extends WebMvcConfigurerAdapter {
|
|
|
|
@Override
|
|
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
|
|
|
|
Hibernate5Module module = new Hibernate5Module();
|
|
module.enable(Feature.SERIALIZE_IDENTIFIER_FOR_LAZY_NOT_LOADED_OBJECTS);
|
|
ObjectMapper objectMapper = new ObjectMapper()
|
|
// .setSerializationInclusion(Include.NON_NULL)
|
|
// .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
|
|
.registerModule(new Hibernate5Module())
|
|
;
|
|
|
|
converters.add(new MappingJackson2HttpMessageConverter(objectMapper));
|
|
|
|
System.out.println("Using custom json serializer loaded with module Hibernate5Module");
|
|
|
|
}
|
|
} |