国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

SpringBoot全局配置long轉String丟失精度問題解決方案

瀏覽:6日期:2023-04-29 13:14:06

web項目中,前端JS使用Java后端傳過來的Long/long會丟失精度。

后端將返回的數據改為String使用即可

第一種

自己建個配置類

extends WebMvcConfigurerAdapter 已經被棄用,直接實現WebMvcConfigurer該接口就行了

@EnableWebMvc@Configurationpublic class WebDataConvertConfig implements WebMvcConfigurer { public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); ObjectMapper objectMapper = new ObjectMapper(); /** * 序列換成json時,將所有的long變成string * 因為js中得數字類型不能包含所有的java long值 */ 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); }

第二種

前提是使用Jackson2

@Configurationpublic class JacksonConfig { /** * Jackson全局轉化long類型為String,解決jackson序列化時long類型缺失精度問題 * @return Jackson2ObjectMapperBuilderCustomizer 注入的對象 */@Beanpublic Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {Jackson2ObjectMapperBuilderCustomizer cunstomizer = new Jackson2ObjectMapperBuilderCustomizer() {@Overridepublic void customize(Jackson2ObjectMapperBuilder jacksonObjectMapperBuilder) {jacksonObjectMapperBuilder.serializerByType(Long.TYPE, ToStringSerializer.instance);jacksonObjectMapperBuilder.serializerByType(Long.class, ToStringSerializer.instance);}};return cunstomizer;}

自己項目使用的時候,第二種未能生效??赡苁怯捎诓皇鞘褂玫膉ackson2??。使用第一種可以,遂采用了第一種

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 临朐县| 温州市| 广宗县| 达日县| 河西区| 中卫市| 包头市| 秭归县| 明星| 乐至县| 东海县| 柘城县| 大埔县| 额济纳旗| 安化县| 保山市| 嘉禾县| 五河县| 临城县| 泽州县| 正阳县| 伊春市| 泸溪县| 海宁市| 双桥区| 唐山市| 锡林浩特市| 奉新县| 绍兴市| 南召县| 临泽县| 蒲城县| 肇源县| 阳新县| 溆浦县| 信阳市| 鄂尔多斯市| 奉贤区| 苗栗市| 松原市| 馆陶县|