Knife4j添加lombok及注解初探
一、POM添加
在pom文件里添加包

1 <!-- 添加Lombok插件-->
2 <dependency>
3 <groupId>org.projectlombok</groupId>
4 <artifactId>lombok</artifactId>
5 <optional>true</optional>
6 </dependency>
二、使用及注解介绍
- 创建实体类

1 package com.mrliu.undertow.pojo;
2
3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data;
6
7 /**
8 * 商品实体类
9 *
10 * @author liuyangos8888
11 */
12
13 @Data
14 public class Commodity {
15
16
17 /**
18 * int 类型主键设置方式
19 */
20 private int id;
21
22 }
- 添加注解

1 package com.mrliu.undertow.pojo;
2
3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data;
6
7 /**
8 * 商品实体类
9 *
10 * @author liuyangos8888
11 */
12
13 @Data
14 @ApiModel(value = "商品类", description = "用于存储商品对象的字段",
15 discriminator = "SpecialCommodity", subTypes = SpecialCommodity.class, reference = "子类是其相关类")
16 public class Commodity {
17
18
19 /**
20 * int 类型主键设置方式
21 */
22 @ApiModelProperty(name = "类型主键", dataType = "int",
23 required = true, value = "自动生成", notes = "自动生成的ID,查询中使用")
24 private int id;
25
26
27 @ApiModelProperty(name = "特殊商品类", dataType = "SpecialCommodity",
28 required = true, notes = "特殊商品实体类")
29 private SpecialCommodity specialCommodity;
30 }
- 注解详解
实体对象常用添加@ApiModel,即可添加在请求参数上,也可添加在返回结果参数上,添上相应的参数后,就会在文档中显示出来
@ApiModel : 对象描述注解
参数属性名称 数据类型 默认值 说明 value String 类名 为模型提供备用名称 description String " " 提供详细的类描述 parent Class<?> parent Void.class 为模型提供父类以允许描述继承关系 discriminatory String " " 支持模型继承和多态,使用鉴别器的字段的名称,可以断言需要使用哪个子类型 subTypes Class<?>[] {} 从此模型继承的子类型数组 reference String " " 指定对应类型定义的引用,覆盖指定的任何其他元数据
使用实例:
注解加载类头上,然后再括号内添加参数及参数描述的值

1 @ApiModel(value = "商品类", description = "用于存储商品对象的字段")
一般最常用的参数就是value和description两个参数,会显示在实体对象文档的对应位置,适合前段查阅,其他参数添加了,并未在界面显示出来
其中,value在knife4J和swagger-ui.中均有显示,description在swagger-ui.中有显示,在knife4J并未显示
discriminatory和reference两个String类型的参数,向其中任意添加内容未发现在界面描述中显示内容
subTypes要添加一个类.class,用于指向当前类的子类是谁,后端自己看的,前段看不到 parent 要添加一个类.class,用于指向当前类的父类是谁,后端自己看的,前段看不到
综上所述,在knife4J中,如果仅仅是需要返回api文档,@ApiModel仅需设置一个参数value即可.

1 @ApiModel(value = "商品类")
@ApiModelProperty : 字段描述注解
参数
| 属性名称 | 数据类型 | 默认值 | 说明 |
| value | String | " " | 字段说明 |
| name | String | " " | 重写属性名字 |
| dataType | String | " " | 重写属性类型 |
| required | String | " " | 是否必填 |
| example | String | " " | 举例说明 |
| hidden | String | " " | 隐藏 |
使用实例:
注解加载在字段上
常用模型:

1 @ApiModelProperty(required = true,notes = "时间戳",example = "1567425139000")
2 private long time;
Knife4j添加lombok及注解初探的更多相关文章
- IDEA里面添加lombok插件,编写简略风格Java代码(转)
文章转自http://blog.csdn.net/hinstenyhisoka/article/details/50468271 在 java平台上,lombok 提供了简单的注解的形式来帮助我们消除 ...
- eclipse 按装lombok与注解说明
原文:http://www.cnblogs.com/ywqbj/p/5711691.html 一.安装lombok 1.下载 lombok-1.16.16.jar 包 我的下载完后放到:/root ...
- IDEA里面添加lombok插件,编写简略风格Java代码
在 java平台上,lombok 提供了简单的注解的形式来帮助我们消除一些必须有但看起来很臃肿的代码, 比如属性的get/set,及对象的toString等方法,特别是相对于 POJO; 关于lomb ...
- lombok常用注解@Data@AllArgsConstructor@NoArgsConstructor@Builder@Accessors
原贴:https://blog.csdn.net/ChenXvYuan_001/article/details/84961992 https://blog.csdn.net/weixin_382293 ...
- Lombok - 使用注解让你的JavaBean变得更加简洁
Lombok - 工具简介: Lombok是一个编译时注释预处理器,有助于在编译时注入一些代码.Lombok提供了一组在开发时处理的注释,以将代码注入到Java应用程序中,注入的代码在开发环境中立即可 ...
- 来自lombok的注解(解决idea中的找不到get,set方法,找不到log的问题)
今天看代码,发现idea报错,仔细一看调用的get,set方法bean中都没有,但是运行起来却没有问题,这个让我很疑惑.后来发现在类上有一个以前没见过的注解@Data,大概就是因为有他的原因.这个注解 ...
- 20190905 Lombok常用注解
Lombok常用注解 val 用于声明类型,将从初始化表达式推断出类型,仅适用于局部变量和foreach循环,而不适用于字段.声明的局部变量为final变量. Java自带类型推断随着JDK版本提升越 ...
- 添加Lombok插件后调用Setter或Getter方法IDEA编译错误
虽然添加Lombok插件,但是调用Setter或Getter方法IDEA编译错误,主要原因如下 解决办法:
- 第三方工具系列--Lombok常用注解
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9329798.html Lombok注解解析: @NonNull 使用在方法的参数或者构造 ...
随机推荐
- 3、架构--cp、scp、rsync、实时监控与同步
笔记 1.晨考 1.VPN的搭建步骤 2.vpn中的iptables是什么作用? 网络转发 2.昨日问题 1.yum源问题 2.VPN链接正常,但是没办法通过172 3.VPN链接时,出现了DNS错误 ...
- suse 12 二进制部署 Kubernetets 1.19.7 - 第03章 - 部署flannel插件
文章目录 1.3.部署flannel网络 1.3.0.下载flannel二进制文件 1.3.1.创建flannel证书和私钥 1.3.2.生成flannel证书和私钥 1.3.3.将pod网段写入et ...
- Python基础—基础数据类型list(Day4)
基础数据类型 四.list列表 存放大量数据,大量的数据在列表中便于操作,列表示有序的,有索引值,可切片,方便取值. 1.list的增 1).append('元素') 在列表后面按元素添加 ...
- [SuperSocket2.0]SuperSocket 2.0从入门到懵逼
SuperSocket 2.0从入门到懵逼 SuperSocket 2.0从入门到懵逼 1 使用SuperSocket 2.0在AspNetCore项目中搭建一个Socket服务器 1.1 引入Sup ...
- 巧用阿里云同步k8s.gcr镜像
问题 谷歌云镜像仓库:k8s.gcr.io 镜像拉取不下来 阿里云操作配置 注册阿里云账号:点击注册 右上角点击"控制台" 点击左上角 选择"容器镜像服务" 第 ...
- [GAMEDEV] 个人开发如何找到合适的图片素材?
1. 起因 起因是想找一些UI设计方面的素材(具体地说,类似于Web或者App上一些按钮/页签/进度条等元素),用到游戏GUI中来,毕竟扁平化的网页设计还是很清爽的. 本以为这方面的素材会比游戏中的图 ...
- 从这3个方面考虑BI工具,选型一选一个准
BI工具在很多场合都能听到,那么BI工具有什么功能呢?能给企业带来什么?好用的BI工具长什么样?今天跟着小编走近BI工具,一探究竟! 首先要了解BI工具的定义,什么是BI工具.BI工具是指利用现代数据 ...
- hadoop 无法访问50070
windows无法访问hadoop web端口 windows hosts文件:C:\Windows\System32\drivers\etc centos防火墙没有关,关闭参考 hadoop cor ...
- Excel:替换表格中的0值
替换时需要勾选"单元格匹配",否则会把所有单元格中的0字符都给替换掉
- linux-日常工作积累
Linux常用命令之envsubst https://blog.csdn.net/banche163/article/details/101369495 Linux中的EAGAIN含义 https:/ ...