FastJson全局long轉string配置Configuration
package com.github.zengfr.project.api;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.nio.charset.Charset;
import java.util.List;
@Configuration
public class MessageConfig implements WebMvcConfigurer {
//extends} WebMvcConfigurationSupport {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.removeIf(r -> r.getClass().equals(StringHttpMessageConverter.class));
converters.removeIf(r -> r.getClass().equals(MappingJackson2HttpMessageConverter.class));
converters.removeIf(r -> r.getClass().equals(FastJsonHttpMessageConverter.class));
HttpMessageConverter<?> mc = new StringHttpMessageConverter(Charset.forName("UTF-8"));
converters.add(mc);
//converters.add(mappingJackson2HttpMessageConverter());
JSON.DEFAULT_GENERATE_FEATURE = SerializerFeature.config(
JSON.DEFAULT_GENERATE_FEATURE, SerializerFeature.SkipTransientField, false);
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
SerializeConfig serializeConfig = SerializeConfig.globalInstance;
serializeConfig.put(Long.class, ToStringSerializer.instance);
serializeConfig.put(Long.TYPE, ToStringSerializer.instance);
fastJsonConfig.setSerializeConfig(serializeConfig);
fastConverter.setFastJsonConfig(fastJsonConfig);
converters.add(fastConverter);
}
}