当前位置: 首页 > news >正文

徐州网站推广百度网络营销app

徐州网站推广,百度网络营销app,太原网站制作公司哪家好,评网网站建设解决精度丢失 有时候我们在进行修改操作时,发现修改既不报错也不生效。我们进行排查后发现服务器端将数据返回给前端时没有出错,但是前端js将数据进行处理时却出错了,因为id是Long类型的,而js在处理后端返回给前端的Long类型数据…

解决精度丢失

有时候我们在进行修改操作时,发现修改既不报错也不生效。我们进行排查后发现服务器端将数据返回给前端时没有出错,但是前端js将数据进行处理时却出错了,因为id是Long类型的,而js在处理后端返回给前端的Long类型数据时只能处理前16位,后3位进行了四舍五入操作,例如后3位为225->200,所以前端的数据就出错了,在修改后发起请求时携带的数据就是错误的,所以修改并不生效。
在这里插入图片描述

解决方法

服务器给页面响应json数据时进行处理,将long类型的数据统一为String类型

解决步骤

对象转换器

  • 提供对象转换器JacksonObjectMapper,基于Jackson进行Java对象到json数据的相互转换,同时将long类型转为String类型。addSerializer(Long.class, ToStringSerializer.instance)
package com.ldh.reggie.common;/*** 对象映射器:基于jackson将Java对象转为json,或者将json转为Java对象* 将JSON解析为Java对象的过程称为 [从JSON反序列化Java对象]* 从Java对象生成JSON的过程称为 [序列化Java对象到JSON]*/
public class JacksonObjectMapper extends ObjectMapper {public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd";public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";public static final String DEFAULT_TIME_FORMAT = "HH:mm:ss";public JacksonObjectMapper() {super();//收到未知属性时不报异常this.configure(FAIL_ON_UNKNOWN_PROPERTIES, false);//反序列化时,属性不存在的兼容处理this.getDeserializationConfig().withoutFeatures(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);SimpleModule simpleModule = new SimpleModule().addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))).addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))).addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))).addSerializer(BigInteger.class, ToStringSerializer.instance)//将Long类型的数据转为String类型.addSerializer(Long.class, ToStringSerializer.instance).addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))).addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))).addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT)));//注册功能模块 例如,可以添加自定义序列化器和反序列化器this.registerModule(simpleModule);}
}

消息转换器

  • 在WebMvcConfig配置类中扩展Spring mvc的消息转换器,在此消息转换器中使用提供的对象转换器进行Java对象到json数据的转换,其中特别的是会将long类型数据转为String类型。不扩展配置则默认使用Spring mvc的消息转换器,它也会将Java对象与Json类型之间进行相互转换,这就是为什么我们在CRUD操作中返回return R.success(pageInfo),前端页面获取到的是JSON类型的数据。
package com.ldh.reggie.config;@Slf4j
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {//扩展mvc框架的消息转换器@Overrideprotected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {//创建消息转换器对象MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();//设置对象转换器,底层使用Jackson将Java对象转为jsonmessageConverter.setObjectMapper(new JacksonObjectMapper());//将上面的消息转换器对象追加到mvc框架的转换器集合中,index为转换器在集合中的顺序,最先才能生效converters.add(0,messageConverter);}
}
http://www.hengruixuexiao.com/news/30239.html

相关文章:

  • 滑县网站建设网络营销产品的特点
  • 垂直门户网站建设全网营销系统怎么样
  • 公司门户app下载长岭网站优化公司
  • 珠海微网站建设搜索引擎大全网站
  • 网站开发 方案 报价seo关键词排名优化哪好
  • 哈尔滨网站制作公司深圳百度推广属于哪家公司
  • 网站做优化是什么意思北京seo营销培训
  • 今日国际新闻最新消息大事seo日常工作都做什么的
  • vue Wordpressseo专员岗位职责
  • 做企业网站需要服务器么十大小说网站排名
  • icp备案查询工信部纵横seo
  • 网站快备郑州seo网络推广
  • 企业官网网站建设深圳网络推广优化
  • 广告公司手机网站模板百度一下你就知道移动首页
  • 顺德网站建设教程网站后台管理系统
  • 电子商城网站建设线上销售如何找到精准客户
  • 天猫建设网站的目的网络推广方法有几种
  • 网站建设的社会意义wp博客seo插件
  • 做自媒体网站短链接在线生成
  • 龙岩设计师流程优化
  • 餐饮商城网站建设seo搜索引擎优化总结报告
  • 龙岗菠菜网站建设请简述网络营销的特点
  • android网站开发网店推广策略
  • 在线教育网站做老师靠谱不培训机构招生方案模板
  • 我想做一个网站怎么做百度广告点击一次多少钱
  • 上海网站备案公司百度升级最新版本
  • 网站开发需要哪些人员2024年1月新冠高峰期
  • 网站建设 主要内容搜索广告是什么意思
  • 响应式布局网站尺寸爱网
  • 付网站建设费黑龙江头条今日新闻