利用json2POJO with Lombok 插件自動(dòng)生成java類的操作
前言
很多時(shí)候,我們定義接口或者調(diào)用別人的接口時(shí),手里只有一份接口文檔,文檔中提供一段示例json格式的報(bào)文,我們需要根據(jù)json中的字段,挨個(gè)去定義java POJO 的字段屬性。
屬實(shí)費(fèi)勁,且有時(shí)候萬(wàn)一手抖,個(gè)別字段填錯(cuò)了,就導(dǎo)致前后端聯(lián)調(diào)不能一次性成功。
如果能有辦法將json直接生成java POJO,豈不是能省去很多時(shí)間。
1.安裝idea 插件
打開(kāi)preferences → Plugins → marketplace → 輸入:json2Pojo with Lombok,點(diǎn)擊安裝并重啟idea

安裝這個(gè)過(guò)程,會(huì)有其他好幾個(gè)同類插件,比如谷歌的GsonFormat 還有其他好幾款,但試用下來(lái),還是lombok的強(qiáng)大并且靈活。
2.編寫Yapi 接口

然后點(diǎn)擊mock地址,yapi會(huì)返回接口mock值。此時(shí)我們就有了一段json 報(bào)文了,如下:
{
"lessonId": 72790926.58835989,
"learnerId": 25695106.24684179,
"lessonDate": 20250701,
"beginTime": -62966641,
"endTime": -3805669,
"weekday": 98440321,
"lessonType": -65646979,
"lessonTypeDesc": "officia in",
"lessonIndex": "tempor deserunt enim Duis",
"teacherName": "in id",
"allowVacation": "Lorem in labore elit",
"minus": -32754173,
"ifVacation": "nisi id",
"vacationType": 23357188.13761404,
"vacationTypeDesc": "elit magna",
"vacationId": 22065329.7215807
}
3.idea 基于json創(chuàng)建java POJO
just right-click on the destination package and choose "New -> Generate POJOs from JSON"

然后點(diǎn)擊OK,你會(huì)發(fā)現(xiàn),你已經(jīng)輕松創(chuàng)建好類。
此工具好處在于,嵌套json,也能應(yīng)對(duì)生成多個(gè)java POJO。
補(bǔ)充知識(shí):idea插件:json對(duì)象快速自動(dòng)生成json實(shí)體類
1、idea插件安裝:GsonFormat
idea內(nèi)打開(kāi)File----->setting(或者idea快捷鍵Ctrl + Alt + S)------> ----->Plugins, 搜索GsonFormat,----->install,安裝完之后重啟idea

2、idea插件使用:json對(duì)象生成json實(shí)體類
新建一個(gè)類,然后有右鍵------>Generate------>GsonFormat,或者快捷鍵Alt + insert

將要轉(zhuǎn)換的JSON格式數(shù)據(jù)粘貼進(jìn)去,點(diǎn)擊ok。

3、 設(shè)置生成類型:setting(可忽略)
生成之前可以設(shè)置類型,我的idea集成了lombok的插件,所以直接選擇lombok類型,點(diǎn)擊ok。此處可以忽略

4、生成效果
生成效果如下 -

以上這篇利用json2POJO with Lombok 插件自動(dòng)生成java類的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java計(jì)算日期相差天數(shù)的4種簡(jiǎn)單方法舉例
最近在工作中遇見(jiàn)一個(gè)小需求,要求計(jì)算兩個(gè)日期之間相差幾天,下面這篇文章主要給大家介紹了關(guān)于java計(jì)算日期相差天數(shù)的4種簡(jiǎn)單方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
SpringBoot自定義HttpMessageConverter操作
這篇文章主要介紹了SpringBoot自定義HttpMessageConverter的操作,具有很好的參考價(jià)值,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
linux配置java環(huán)境變量詳細(xì)過(guò)程
這篇文章主要介紹了linux配置java環(huán)境變量詳細(xì)過(guò)程,需要的朋友可以參考下2015-09-09
spring聲明式事務(wù)@Transactional底層工作原理
這篇文章主要為大家介紹分析spring聲明式事務(wù)@Transactional底層工作原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-02-02
idea創(chuàng)建springboot項(xiàng)目,Application.java不能運(yùn)行問(wèn)題及解決
這篇文章主要介紹了idea創(chuàng)建springboot項(xiàng)目,Application.java不能運(yùn)行問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
mybatis spring配置SqlSessionTemplate的使用方式
這篇文章主要介紹了mybatis spring配置SqlSessionTemplate的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
java并發(fā)編程關(guān)鍵字volatile保證可見(jiàn)性不保證原子性詳解
這篇文章主要為大家介紹了java并發(fā)編程關(guān)鍵字volatile保證可見(jiàn)性不保證原子性詳解,文中附含詳細(xì)示例說(shuō)明,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02
apollo更改配置刷新@ConfigurationProperties配置類
這篇文章主要為大家介紹了apollo更改配置刷新@ConfigurationProperties配置類示例解析,apollo更改配置刷新@ConfigurationProperties配置類2023-04-04
spring如何動(dòng)態(tài)指定具體實(shí)現(xiàn)類
這篇文章主要為大家詳細(xì)介紹了spring如何動(dòng)態(tài)指定具體實(shí)現(xiàn)類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10

