利用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
猜你喜欢
- 一个基于Java Socket协议之上文件传输的完整示例,基于TCP通信完成。除了基于TCP的二进制文件传输,还演示了JAVA Swing的
- 我想每个写项目的人,都肯定会遇到控制权限这个问题.例如这个这个链接只能管理员访问,那个链接丫只能超级管理员访问等等,实现方式也有多种多样,控
- 有时候,我们在同一个activity里面有很多fragment,在横竖屏的时候,有些fragment要求重新加载数据,有些不需要,如何简单控
- 在该示例中,阐述了SpringMVC如何上传文件。1、上传页面upload.jsp<body> <form
- 在hibernate5中,有了一些新的变动: 新引导 APISpatial/GIS 支持Java 8 支持扩展 AUTO
- 目录1、下面的代码运行的结果是:2、下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?3、执行如下代码段后,变量s
- 1. 面试第一步,自我介绍。这个自我介绍,在整个面试当中可以说是第一步,如果你能把你想说的重点说出来,把面试官带到你准备好的技术点中,可以说
- 本博文将为您提供自Java 7以来增加的很棒的新功能的示例。我将展示每个Java版本的至少一项重大改进,一直到2020年秋季发布的Java
- 前言前面一篇我们介绍了使用 shared_preferences实现简单的键值对存储,然而我们还会面临更为复杂的本地存储。比如资讯类 App
- springboot集成swagger3swagger3的springboot启动器jar包<!-- https://mvnrepos
- ActiveMQ是Apache的一个开源项目,它是一个功能强劲的开源消息总线,也是一个中间件产品,它是JMS的一个实现。在介绍ActiveM
- MyBatis提供了 * 接口,我们可以实现自己的 * ,将其作为一个plugin装入到SqlSessionFactory中。 首先要说的是
- JavaFx初探一,UI控件的使用,具体内容如下方式一:使用纯代码直接new view控件,这样就不涉及到与fxml文件之间的交互了方式二:
- MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱
- 标题index界面加载问题刚开始学习springBoot记录一下遇到的小问题1.index.html加载不出来的问题我习惯性的将index.
- 导出的 Jar 包无法运行?导出的 Jar 包找不到 Main class?大概是我对导出 Jar 包的理解不深吧,反正一直不太懂 IDEA
- 最近在研究dubbo时,发现了JAVA的SPI特性。SPI的全名为Service Provider Interface,是JDK内置的一种服
- ReentrantLock内部由Sync类实例实现。Sync类定义于ReentrantLock内部。Sync继承于AbstractQueue
- 1.基本介绍Java自带日期格式化工具DateFormat ,但是DateFormat 的所有实现,包括 SimpleDateFormat
- jackson反序列化忽略字段JSON字符串中含有我们并不需要的字段,那么当对应的实体类中不含有该字段时,会抛出一个异常,告诉你有些字段没有