利用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

利用json2POJO with Lombok 插件自动生成java类的操作

安装这个过程,会有其他好几个同类插件,比如谷歌的GsonFormat 还有其他好几款,但试用下来,还是lombok的强大并且灵活。

2.编写Yapi 接口

利用json2POJO with Lombok 插件自动生成java类的操作

然后点击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"

利用json2POJO with Lombok 插件自动生成java类的操作

然后点击OK,你会发现,你已经轻松创建好类。

此工具好处在于,嵌套json,也能应对生成多个java POJO。

补充知识:idea插件:json对象快速自动生成json实体类

1、idea插件安装:GsonFormat

idea内打开File----->setting(或者idea快捷键Ctrl + Alt + S)------> ----->Plugins, 搜索GsonFormat,----->install,安装完之后重启idea

利用json2POJO with Lombok 插件自动生成java类的操作

2、idea插件使用:json对象生成json实体类

新建一个类,然后有右键------>Generate------>GsonFormat,或者快捷键Alt + insert

利用json2POJO with Lombok 插件自动生成java类的操作

将要转换的JSON格式数据粘贴进去,点击ok。

利用json2POJO with Lombok 插件自动生成java类的操作

3、 设置生成类型:setting(可忽略)

生成之前可以设置类型,我的idea集成了lombok的插件,所以直接选择lombok类型,点击ok。此处可以忽略

利用json2POJO with Lombok 插件自动生成java类的操作

4、生成效果

生成效果如下 -

利用json2POJO with Lombok 插件自动生成java类的操作

来源:https://changle.blog.csdn.net/article/details/104008744

标签:json2POJO,Lombok,java类
0
投稿

猜你喜欢

  • Android四大组件之BroadcastReceiver详解

    2023-03-17 02:55:08
  • Java数据类型的全面剖析

    2022-07-09 06:51:38
  • mybatis打印SQL,并显示参数的实例

    2022-08-03 16:46:59
  • Android 属性动画ValueAnimator与插值器详解

    2023-04-12 19:05:33
  • Java中工具Jstack的使用实例

    2023-07-26 15:18:02
  • SpringMVC之@requestBody的作用及说明

    2022-06-08 12:35:04
  • SpringBoot中使用JeecgBoot的Autopoi导出Excel的方法步骤

    2023-03-31 03:38:11
  • C#实现基于IE内核的简单浏览器完整实例

    2021-12-04 02:08:02
  • Android使用Item Swipemenulistview实现仿QQ侧滑删除功能

    2021-08-16 19:47:35
  • Java验证时间格式是否正确方法类项目实战

    2021-05-30 02:15:15
  • C#将隐私信息(银行账户,身份证号码)中间部分特殊字符替换成*

    2022-02-18 05:39:36
  • Java获取接口所有实现类的方式详解

    2022-06-11 14:44:27
  • Linux下Hadoop 2.7.3 安装搭建过程

    2023-11-08 05:13:59
  • Android实现ImageView图片双击放大及缩小

    2022-04-07 10:34:06
  • C# Winform实现进度条显示

    2023-09-14 15:47:51
  • java开源调度如何给xxljob加k8s执行器

    2021-09-17 16:41:50
  • MyBatis-Plus逻辑删除和字段自动填充的实现

    2023-01-08 03:45:54
  • C#多线程之线程池(ThreadPool)

    2022-05-02 07:12:15
  • 使用springboot跳转到指定页面和(重定向,请求转发的实例)

    2021-10-21 11:09:24
  • Java实例讲解Comparator的使用

    2021-07-15 09:16:58
  • asp之家 软件编程 m.aspxhome.com