欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

@JsonSerialize不起作用的解決方案

 更新時(shí)間:2021年10月13日 14:49:30   作者:不吃肉的小和尚  
這篇文章主要介紹了@JsonSerialize不起作用的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@JsonSerialize不起作用

在項(xiàng)目中 當(dāng)字段實(shí)體類(lèi)為L(zhǎng)ong類(lèi)型時(shí)

如果Long值超過(guò)前端js顯示的長(zhǎng)度范圍時(shí)會(huì)導(dǎo)致前端回顯錯(cuò)誤

此時(shí)我們想到的解決方案是將Long值返回給前端時(shí)轉(zhuǎn)為String,

但是我們又不想變更字段的類(lèi)型,當(dāng)然我們也不想額外添加新的字段。

這個(gè)時(shí)候我們可以用@JsonSerialize,在Json序列化的時(shí)候把Long自動(dòng)轉(zhuǎn)為String,

但是這里有個(gè)小坑

被轉(zhuǎn)換的字段必須是包裝類(lèi)類(lèi)型,否則會(huì)轉(zhuǎn)換失敗。

@JsonSerialize(using = ToStringSerializer.class)
private Long parentId;    //轉(zhuǎn)化成功
@JsonSerialize(using = ToStringSerializer.class)
private long parentId;    //轉(zhuǎn)化失敗

@JsonSerialize正確使用

實(shí)際開(kāi)發(fā)中,我們一定遇到過(guò)這樣的問(wèn)題:前端顯示和后臺(tái)存儲(chǔ)數(shù)據(jù)單位不統(tǒng)一,而且各有各自的理由,統(tǒng)一不了,那就只能由后端轉(zhuǎn)換。

每次返回給前端時(shí)再轉(zhuǎn)換一遍,返回給前端的json數(shù)據(jù),在后端里定義的往往是一個(gè)對(duì)象,如何做到優(yōu)雅的轉(zhuǎn)換呢?只需兩步操作:

1. 寫(xiě)一個(gè)負(fù)責(zé)轉(zhuǎn)換的類(lèi)

里面寫(xiě)好規(guī)則

 public class MySerializerUtils extends JsonSerializer<Integer> {
    @Override
    public void serialize(Integer status, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
        String statusStr = "";
         switch (status) {
             case 0:
                 statusStr = "新建狀態(tài)";
                 break;
             case 1:
                statusStr = "就緒狀態(tài)";
                 break;
             case 2:
                 statusStr = "運(yùn)行狀態(tài)";
                 break;
             case 3:
                 statusStr = "阻塞和喚醒線程";
                 break;
             case 4:
                statusStr = " 死亡狀態(tài)";
               break;
             default:
                 statusStr = "狀態(tài)信息不符合";
         }
         jsonGenerator.writeString(statusStr);
     }
 }

2. 在實(shí)體類(lèi)上需要裝換的字段上加上注解

/**
 * 多線程生命周期狀態(tài)值
 */
@JsonSerialize(using = MySerializerUtils.class)
private int status;

注:@JsonSerialize注解,主要應(yīng)用于數(shù)據(jù)轉(zhuǎn)換,該注解作用在該屬性的getter()方法上。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA中 Getter、Setter 注解不起作用的問(wèn)題如何解決

    IDEA中 Getter、Setter 注解不起作用的問(wèn)題如何解決

    這篇文章主要介紹了IDEA中 Getter、Setter 注解不起作用的問(wèn)題如何解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Jsoup獲取全國(guó)地區(qū)數(shù)據(jù)屬性值(省市縣鎮(zhèn)村)

    Jsoup獲取全國(guó)地區(qū)數(shù)據(jù)屬性值(省市縣鎮(zhèn)村)

    這篇文章主要介紹了Jsoup獲取全國(guó)地區(qū)數(shù)據(jù)屬性值(省市縣鎮(zhèn)村)的相關(guān)資料,需要的朋友可以參考下
    2015-10-10
  • IDEA+Maven搭建JavaWeb項(xiàng)目的方法步驟

    IDEA+Maven搭建JavaWeb項(xiàng)目的方法步驟

    本文主要介紹了IDEA+Maven搭建JavaWeb項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • IDEA mybatis-generator逆向工程生成代碼

    IDEA mybatis-generator逆向工程生成代碼

    這篇文章主要介紹了IDEA mybatis-generator逆向工程生成代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)H2的實(shí)踐

    SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)H2的實(shí)踐

    h2是內(nèi)存數(shù)據(jù)庫(kù),查詢(xún)高效,可以在開(kāi)發(fā)初期使用它。本文主要介紹了SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)H2的實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-09-09
  • Java設(shè)計(jì)模式之迪米特原則精解

    Java設(shè)計(jì)模式之迪米特原則精解

    設(shè)計(jì)模式(Design pattern)代表了最佳的實(shí)踐,通常被有經(jīng)驗(yàn)的面向?qū)ο蟮能浖_(kāi)發(fā)人員所采用。設(shè)計(jì)模式是軟件開(kāi)發(fā)人員在軟件開(kāi)發(fā)過(guò)程中面臨的一般問(wèn)題的解決方案。本篇介紹設(shè)計(jì)模式七大原則之一的迪米特原則
    2022-02-02
  • springboot如何接收application/x-www-form-urlencoded類(lèi)型的請(qǐng)求

    springboot如何接收application/x-www-form-urlencoded類(lèi)型的請(qǐng)求

    這篇文章主要介紹了springboot如何接收application/x-www-form-urlencoded類(lèi)型的請(qǐng)求,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 基于spring-boot-maven-plugin插件打包lib文件外置的方法(layout模式為ZIP模式)

    基于spring-boot-maven-plugin插件打包lib文件外置的方法(layout模式為ZIP模式)

    Maven是一個(gè)插件執(zhí)行框架,所有工作都由插件完成,同時(shí)?Maven?基于構(gòu)建生命周期的核心概念,明確定義了構(gòu)建和分發(fā)特定工件(項(xiàng)目)的過(guò)程,接下來(lái)通過(guò)本文給大家介紹下基于spring-boot-maven-plugin插件打包lib文件外置(layout模式為ZIP模式),需要的朋友可以參考下
    2022-09-09
  • 被kafka-client和springkafka版本坑到自閉及解決

    被kafka-client和springkafka版本坑到自閉及解決

    這篇文章主要介紹了被kafka-client和springkafka版本坑到自閉及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java web將數(shù)據(jù)導(dǎo)出為pdf格式文件代碼片段

    java web將數(shù)據(jù)導(dǎo)出為pdf格式文件代碼片段

    這篇文章主要為大家詳細(xì)介紹了java web將數(shù)據(jù)導(dǎo)出為pdf格式文件代碼片段,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評(píng)論