利用json2POJO with Lombok 插件自动生成java类的操作
作者:常乐_smile 时间:2023-07-12 09:31:28
前言
很多时候,我们定义接口或者调用别人的接口时,手里只有一份接口文档,文档中提供一段示例json格式的报文,我们需要根据json中的字段,挨个去定义java POJO 的字段属性。
属实费劲,且有时候万一手抖,个别字段填错了,就导致前后端联调不能一次性成功。
如果能有办法将json直接生成java POJO,岂不是能省去很多时间。
1.安装idea 插件
打开preferences → Plugins → marketplace → 输入:json2Pojo with Lombok,点击安装并重启idea
安装这个过程,会有其他好几个同类插件,比如谷歌的GsonFormat 还有其他好几款,但试用下来,还是lombok的强大并且灵活。
2.编写Yapi 接口
然后点击mock地址,yapi会返回接口mock值。此时我们就有了一段json 报文了,如下:
{
"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创建java POJO
just right-click on the destination package and choose "New -> Generate POJOs from JSON"
然后点击OK,你会发现,你已经轻松创建好类。
此工具好处在于,嵌套json,也能应对生成多个java POJO。
补充知识:idea插件:json对象快速自动生成json实体类
1、idea插件安装:GsonFormat
idea内打开File----->setting(或者idea快捷键Ctrl + Alt + S)------> ----->Plugins, 搜索GsonFormat,----->install,安装完之后重启idea
2、idea插件使用:json对象生成json实体类
新建一个类,然后有右键------>Generate------>GsonFormat,或者快捷键Alt + insert
将要转换的JSON格式数据粘贴进去,点击ok。
3、 设置生成类型:setting(可忽略)
生成之前可以设置类型,我的idea集成了lombok的插件,所以直接选择lombok类型,点击ok。此处可以忽略
4、生成效果
生成效果如下 -
来源:https://changle.blog.csdn.net/article/details/104008744
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Android四大组件之BroadcastReceiver详解
Java数据类型的全面剖析
![](https://img.aspxhome.com/file/2023/1/63061_0s.png)
mybatis打印SQL,并显示参数的实例
Android 属性动画ValueAnimator与插值器详解
Java中工具Jstack的使用实例
SpringMVC之@requestBody的作用及说明
SpringBoot中使用JeecgBoot的Autopoi导出Excel的方法步骤
![](https://img.aspxhome.com/file/2023/8/99748_0s.png)
C#实现基于IE内核的简单浏览器完整实例
Android使用Item Swipemenulistview实现仿QQ侧滑删除功能
![](https://img.aspxhome.com/file/2023/6/138546_0s.jpg)
Java验证时间格式是否正确方法类项目实战
![](https://img.aspxhome.com/file/2023/8/86778_0s.jpg)
C#将隐私信息(银行账户,身份证号码)中间部分特殊字符替换成*
Java获取接口所有实现类的方式详解
Linux下Hadoop 2.7.3 安装搭建过程
![](https://img.aspxhome.com/file/2023/0/58870_0s.png)
Android实现ImageView图片双击放大及缩小
C# Winform实现进度条显示
![](https://img.aspxhome.com/file/2023/9/68609_0s.png)
java开源调度如何给xxljob加k8s执行器
![](https://img.aspxhome.com/file/2023/9/62229_0s.png)
MyBatis-Plus逻辑删除和字段自动填充的实现
![](https://img.aspxhome.com/file/2023/9/80289_0s.png)
C#多线程之线程池(ThreadPool)
![](https://img.aspxhome.com/file/2023/0/108770_0s.png)
使用springboot跳转到指定页面和(重定向,请求转发的实例)
![](https://img.aspxhome.com/file/2023/2/65762_0s.jpg)