package com.code2roc.fastface.config;
|
|
import com.alibaba.fastjson.support.config.FastJsonConfig;
|
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
|
import com.code2roc.fastface.filter.CORSFilter;
|
import com.code2roc.fastface.filter.HttpServletRequestReplacedFilter;
|
import com.code2roc.fastface.filter.JackJsonPropertyNameFilter;
|
import org.mybatis.spring.annotation.MapperScan;
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
import org.springframework.http.MediaType;
|
import org.springframework.http.converter.HttpMessageConverter;
|
import org.springframework.scheduling.annotation.EnableAsync;
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Configuration
|
@EnableTransactionManagement
|
@EnableAspectJAutoProxy
|
@EnableAsync
|
@MapperScan(basePackages = "com.code2roc.fastface.dao")
|
public class WebConfig implements WebMvcConfigurer {
|
@Override
|
public void addInterceptors(InterceptorRegistry registry) {
|
|
}
|
|
//json序列化规则
|
@Override
|
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
|
//1.需要定义一个convert转换消息的对象;
|
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
|
//2.添加fastJson的配置信息,比如:是否要格式化返回的json数据;
|
FastJsonConfig fastJsonConfig = new FastJsonConfig();
|
//全局指定了日期格式
|
fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
|
//指定json返回规则(框架个性化控制)
|
fastJsonConfig.setSerializeFilters(new JackJsonPropertyNameFilter());
|
//3处理中文乱码问题
|
List<MediaType> fastMediaTypes = new ArrayList<>();
|
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
|
//4.在convert中添加配置信息.
|
fastJsonHttpMessageConverter.setSupportedMediaTypes(fastMediaTypes);
|
fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
|
//5.将convert添加到converters当中.
|
converters.add(fastJsonHttpMessageConverter);
|
}
|
|
@Bean
|
public FilterRegistrationBean cORSFilterRegistration() {
|
FilterRegistrationBean registration = new FilterRegistrationBean();
|
registration.setFilter(new CORSFilter());
|
registration.addUrlPatterns("/*");
|
registration.addInitParameter("paramName", "paramValue");
|
registration.setName("cORSFilter");
|
return registration;
|
}
|
|
@Bean
|
public FilterRegistrationBean httpServletRequestReplacedRegistration() {
|
FilterRegistrationBean registration = new FilterRegistrationBean();
|
registration.setFilter(new HttpServletRequestReplacedFilter());
|
registration.addUrlPatterns("/*");
|
registration.addInitParameter("paramName", "paramValue");
|
registration.setName("httpServletRequestReplacedFilter");
|
return registration;
|
}
|
}
|