1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package com.alvin.config;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.module.SimpleModule;
- import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.http.converter.HttpMessageConverter;
- import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
- import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
- import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
- import java.util.List;
- /**
- * 我们把long类型数据传到前端时,会丢失精度,这里加一个配置类即可将long转换为string
- *
- * @author tianyunperfect
- * @date 2020/05/20
- */
- @Configuration
- public class LongToStringJsonConfig extends WebMvcConfigurationSupport {
- /**
- * 这个必须有,否则不能访问静态文件
- * @param configurer
- */
- @Override
- public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
- configurer.enable();
- }
- /**
- * 配置Long转string
- * @param converters
- */
- @Override
- public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
- MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
- ObjectMapper objectMapper = new ObjectMapper();
- SimpleModule simpleModule = new SimpleModule();
- simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
- simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
- objectMapper.registerModule(simpleModule);
- jackson2HttpMessageConverter.setObjectMapper(objectMapper);
- converters.add(jackson2HttpMessageConverter);
- }
- }
|