|
|
|
@@ -1,19 +1,20 @@ |
|
|
|
package com.iformall.config; |
|
|
|
|
|
|
|
import com.alibaba.fastjson.serializer.SerializeConfig; |
|
|
|
import com.alibaba.fastjson.serializer.ToStringSerializer; |
|
|
|
import com.alibaba.fastjson.support.config.FastJsonConfig; |
|
|
|
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; |
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper; |
|
|
|
import com.fasterxml.jackson.databind.module.SimpleModule; |
|
|
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
|
|
|
import com.iformall.interceptor.AuthorizationInterceptor; |
|
|
|
import com.iformall.resolver.LoginUserHandlerMethodArgumentResolver; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.context.annotation.Configuration; |
|
|
|
import org.springframework.http.converter.HttpMessageConverter; |
|
|
|
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; |
|
|
|
import org.springframework.web.method.support.HandlerMethodArgumentResolver; |
|
|
|
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; |
|
|
|
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; |
|
|
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.math.BigInteger; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
@@ -53,16 +54,23 @@ public class WebMvcConfig implements WebMvcConfigurer { |
|
|
|
|
|
|
|
@Override |
|
|
|
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { |
|
|
|
FastJsonHttpMessageConverter fastConverter = |
|
|
|
new FastJsonHttpMessageConverter(); |
|
|
|
|
|
|
|
FastJsonConfig fastJsonConfig = new FastJsonConfig(); |
|
|
|
SerializeConfig serializeConfig = SerializeConfig.globalInstance; |
|
|
|
serializeConfig.put(BigInteger.class, ToStringSerializer.instance); |
|
|
|
serializeConfig.put(Long.class, ToStringSerializer.instance); |
|
|
|
serializeConfig.put(Long.TYPE, ToStringSerializer.instance); |
|
|
|
fastJsonConfig.setSerializeConfig(serializeConfig); |
|
|
|
fastConverter.setFastJsonConfig(fastJsonConfig); |
|
|
|
converters.add(fastConverter); |
|
|
|
MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); |
|
|
|
//ObjectMapper 是Jackson库的主要类。它提供一些功能将转换成Java对象匹配JSON结构,反之亦然 |
|
|
|
ObjectMapper objectMapper = new ObjectMapper(); |
|
|
|
SimpleModule simpleModule = new SimpleModule(); |
|
|
|
//序列化将Long转String类型 |
|
|
|
simpleModule.addSerializer(Long.class, com.fasterxml.jackson.databind.ser.std.ToStringSerializer.instance); |
|
|
|
simpleModule.addSerializer(Long.TYPE, com.fasterxml.jackson.databind.ser.std.ToStringSerializer.instance); |
|
|
|
SimpleModule bigIntegerModule = new SimpleModule(); |
|
|
|
//序列化将BigInteger转String类型 |
|
|
|
bigIntegerModule.addSerializer(BigInteger.class, com.fasterxml.jackson.databind.ser.std.ToStringSerializer.instance); |
|
|
|
SimpleModule bigDecimalModule = new SimpleModule(); |
|
|
|
//序列化将BigDecimal转String类型 |
|
|
|
bigDecimalModule.addSerializer(BigDecimal.class, ToStringSerializer.instance); |
|
|
|
objectMapper.registerModule(simpleModule); |
|
|
|
objectMapper.registerModule(bigDecimalModule); |
|
|
|
objectMapper.registerModule(bigIntegerModule); |
|
|
|
jackson2HttpMessageConverter.setObjectMapper(objectMapper); |
|
|
|
converters.add(jackson2HttpMessageConverter); |
|
|
|
} |
|
|
|
} |