91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

長整型Long返回到前端,js出現精度丟失怎么辦

發布時間:2020-07-28 13:07:47 來源:網絡 閱讀:395 作者:layveen 欄目:軟件技術

前端后接口對接時,如果后臺的id或者其他字段使用了長整型Long,就很容易出現js丟失精度問題。用接口工具調用時,往往id返回都是對的,但是一到頁面上,js就后綴000。
前端說返回的值有問題,F12看看!后端說沒問題,Postman看看!
這是js支持的問題,解決這個問題的辦法很顯然,返回字符串即可。
怎么實現呢,你可以直接將vo對象的id改成String類型,但是會帶來copyProperties的不便,所以見過很多人通過增加虛擬字段實現。下面是一個整體解決方案:(需要略微了解下Spring的消息序列化原理,譬如MappingJackson2HttpMessageConverter是干嘛的)

  1. MainConfig(通常是主config類,@Configuration注解的,用來導入一些基礎配置)增加MessageConvert的重寫extendMessageConverters:

    @Override
    public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
        MappingJackson2HttpMessageConverter jacksonConverter = null;
        for (HttpMessageConverter<?> converter : converters) {
            if (converter instanceof MappingJackson2HttpMessageConverter) {
                jacksonConverter = (MappingJackson2HttpMessageConverter) converter;
            }
        }
        if (jacksonConverter != null) {
            jacksonConverter.setObjectMapper(new CustomObjectMapper());
            converters.add(jacksonConverter);
        }
    }
  2. CustomObjectMapper的實現:
    public class CustomObjectMapper extends ObjectMapper {
    public CustomObjectMapper() {
        super();
        SimpleModule simpleModule = new SimpleModule();
        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
        simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
        registerModule(simpleModule);
    }
    }

這樣,接口返回的時候,所有的長整型字段,會被當做字符串處理,自動加上雙引號。
長整型Long返回到前端,js出現精度丟失怎么辦

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台湾省| 娱乐| 黄梅县| 土默特左旗| 景洪市| 九龙县| 达孜县| 甘谷县| 万盛区| 韶山市| 扬中市| 莲花县| 长春市| 锦屏县| 建湖县| 镇坪县| 抚远县| 瑞丽市| 靖宇县| 东源县| 威宁| 齐河县| 凤山市| 朝阳县| 绥宁县| 宜宾市| 乃东县| 保定市| 陆丰市| 昌宁县| 吴忠市| 榕江县| 井冈山市| 东方市| 宣威市| 娄底市| 襄樊市| 增城市| 萝北县| 阿克| 嘉鱼县|