解决办法很简单将Long类型的字段转为String类型返给前端即可,解决方法有3种可根据自己项目情况来选择:
方式1
在实体类种直接将Long类型的字段修改为String类型
方式2
在要返回的字段上添加@JsonSerialize(using = ToStringSerializer.class)注解,这样就能在序列化时自动将该字段类型转为String类型返给前端,相较于方式1不影响其他调用该字段的方法
方式3
通过配置全局拦截器将所有返回结果的Long类型字段转为String类型,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| @EnableWebMvc @Configuration public class WebDataConvertConfig implements WebMvcConfigurer {
@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); objectMapper.setSerializationInclusion(NON_NULL); objectMapper.setTimeZone(TimeZone.getTimeZone("GMT+8")); objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); jackson2HttpMessageConverter.setObjectMapper(objectMapper); converters.add(jackson2HttpMessageConverter); } }
|
作者: 只是学习学习
邮箱: fengzxia1000@163.com
原文地址: https://fengzxia.gitee.io/posts/146d4389.html
版权声明: 商业转载请联系作者获得授权,非商业转载请注明出处。