package kr.wisestone.owl.config;
|
|
import kr.wisestone.owl.web.converter.FileHttpMessageConverter;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.http.MediaType;
|
import org.springframework.http.converter.HttpMessageConverter;
|
import org.springframework.http.converter.StringHttpMessageConverter;
|
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
import org.springframework.web.multipart.MultipartResolver;
|
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
import org.springframework.web.servlet.LocaleResolver;
|
import org.springframework.web.servlet.config.annotation.*;
|
import org.springframework.web.servlet.i18n.CookieLocaleResolver;
|
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.Locale;
|
|
/**
|
* Created by jeong on 2017-08-01.
|
*/
|
@EnableWebMvc
|
@Configuration
|
public class WebMvcConfiguration implements WebMvcConfigurer {
|
|
@Override
|
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
|
converters.add(new StringHttpMessageConverter());
|
|
MappingJackson2HttpMessageConverter jsonConverter = this.mappingJackson2HttpMessageConverter();
|
jsonConverter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON, MediaType.TEXT_HTML));
|
converters.add(jsonConverter);
|
|
FileHttpMessageConverter fileConverter = this.fileHttpMessageConverter();
|
converters.add(fileConverter);
|
}
|
|
@Bean
|
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
|
return new MappingJackson2HttpMessageConverter();
|
}
|
|
@Bean
|
public FileHttpMessageConverter fileHttpMessageConverter() {
|
return new FileHttpMessageConverter();
|
}
|
|
@Bean
|
public MultipartResolver multipartResolver() {
|
CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();
|
commonsMultipartResolver.setMaxUploadSize(314572800);
|
return commonsMultipartResolver;
|
}
|
|
@Bean
|
public LocaleChangeInterceptor localeChangeInterceptor() {
|
LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
|
localeChangeInterceptor.setParamName("language");
|
return localeChangeInterceptor;
|
}
|
|
@Bean
|
public LocaleResolver localeResolver() {
|
CookieLocaleResolver localeResolver = new CookieLocaleResolver();
|
localeResolver.setCookieMaxAge(3600);
|
localeResolver.setDefaultLocale(new Locale("ko_KR"));
|
Locale locale = new Locale("ko", "KR");
|
locale.setDefault(locale);
|
|
return localeResolver;
|
}
|
|
@Override
|
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
|
configurer.enable();
|
}
|
|
@Override
|
public void addViewControllers(ViewControllerRegistry registry) {
|
registry.addViewController("/").setViewName("index.html");
|
}
|
|
@Override
|
public void addInterceptors(InterceptorRegistry registry) {
|
registry.addInterceptor(this.localeChangeInterceptor());
|
}
|
}
|