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

徐州网站推广竞价托管推广公司

徐州网站推广,竞价托管推广公司,华为最新版,wordpress系统解决精度丢失 有时候我们在进行修改操作时,发现修改既不报错也不生效。我们进行排查后发现服务器端将数据返回给前端时没有出错,但是前端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.hrbkazy.com/news/38390.html

相关文章:

  • 网站和自媒体都可以做360收录查询
  • 现在网站建设还用测浏览器吗产品推广计划书怎么写
  • 基层政府建设管理网站千万别手贱在百度上搜这些词
  • 网站上放百度地图网络推广的途径有哪些
  • 东营 微信网站建设自己建网站需要钱吗
  • 那些网站使用vue做的b站推广app大全
  • 北京营销型网站建设培训今日最火的新闻
  • 日本做暖暖的网站网店营销策略有哪些
  • 怎么用wordpress建立自己的网站seo搜索引擎优化视频
  • 网站平台建设流程厦门网络推广
  • 卖汽车配件怎么做网站淘宝店铺买卖交易平台
  • 做一个好的网站需要什么ios aso优化工具
  • 开发网站怎样注册公司秦洁婷seo博客
  • 深圳南山 网站建设百度搜索引擎介绍
  • 我是做网站的深圳全网营销推广平台
  • 重庆市做网站的公司网络公司排名
  • 响应式网站多少钱 开发排名优化方法
  • 沙井做网站优化设计答案六年级
  • 宁德网站建设爱站工具包官网
  • 做it公司网站百度竞价运营
  • 做网站的用多少钱网络宣传策划方案
  • 做电商网站需要多少钱免费b站软件推广网站2023
  • 网站框架怎么做的排名nba
  • 一流专业建设标准seo 重庆
  • 合作客户北京网站建设搜索引擎优化的概念
  • 卸载西部数码网站管理助手免费网络推广
  • 外贸英文网站制作重庆专业做网站公司
  • 设计合理的网站网页归档b站推广网站入口mmm
  • 自定义网站建设关键词优化排名用什么软件比较好
  • 营销网站建设定制现在搜索引擎哪个比百度好用