diff options
author | 2016-11-12 01:34:07 +0700 | |
---|---|---|
committer | 2016-11-12 11:14:56 +0300 | |
commit | 194a9a763c6b11d207e682b2f93de94475c473b4 (patch) | |
tree | 196317662017b716066eadfa413ecbdc7532c52d /juick-notifications/src/main/java/com/juick/components/configuration/NotificationsMvcConfiguration.java | |
parent | 7d86347a351aa5263c19cd03aa0bda4650c8bfca (diff) |
extracted application configuration from Mvc configuration with application specific beans;
extracted bean initialization from constructor;
force using properties;
Diffstat (limited to 'juick-notifications/src/main/java/com/juick/components/configuration/NotificationsMvcConfiguration.java')
-rw-r--r-- | juick-notifications/src/main/java/com/juick/components/configuration/NotificationsMvcConfiguration.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/juick-notifications/src/main/java/com/juick/components/configuration/NotificationsMvcConfiguration.java b/juick-notifications/src/main/java/com/juick/components/configuration/NotificationsMvcConfiguration.java new file mode 100644 index 00000000..a0f0ad06 --- /dev/null +++ b/juick-notifications/src/main/java/com/juick/components/configuration/NotificationsMvcConfiguration.java @@ -0,0 +1,41 @@ +package com.juick.components.configuration; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; +import org.springframework.context.annotation.ComponentScan; +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.WebMvcConfigurationSupport; +import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; + +import java.util.List; + +/** + * Created by vitalyster on 28.06.2016. + */ +@Configuration +@ComponentScan(basePackages = {"com.juick.components.controllers"}) +public class NotificationsMvcConfiguration extends WebMvcConfigurationSupport { + + @Override + public RequestMappingHandlerMapping requestMappingHandlerMapping() { + RequestMappingHandlerMapping mapping = super.requestMappingHandlerMapping(); + mapping.setUseSuffixPatternMatch(false); + return mapping; + } + + @Override + protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) { + Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder() + .serializationInclusion(JsonInclude.Include.NON_DEFAULT) + .serializationInclusion(JsonInclude.Include.NON_NULL) + .serializationInclusion(JsonInclude.Include.NON_ABSENT) + .serializationInclusion(JsonInclude.Include.NON_EMPTY); + MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(builder.build()); + converter.getObjectMapper().registerModule(new Jdk8Module()); + converters.add(converter); + super.configureMessageConverters(converters); + } +} |