一、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及注解初探的更多相关文章

  1. IDEA里面添加lombok插件,编写简略风格Java代码(转)

    文章转自http://blog.csdn.net/hinstenyhisoka/article/details/50468271 在 java平台上,lombok 提供了简单的注解的形式来帮助我们消除 ...

  2. eclipse 按装lombok与注解说明

    原文:http://www.cnblogs.com/ywqbj/p/5711691.html 一.安装lombok 1.下载   lombok-1.16.16.jar 包 我的下载完后放到:/root ...

  3. IDEA里面添加lombok插件,编写简略风格Java代码

    在 java平台上,lombok 提供了简单的注解的形式来帮助我们消除一些必须有但看起来很臃肿的代码, 比如属性的get/set,及对象的toString等方法,特别是相对于 POJO; 关于lomb ...

  4. lombok常用注解@Data@AllArgsConstructor@NoArgsConstructor@Builder@Accessors

    原贴:https://blog.csdn.net/ChenXvYuan_001/article/details/84961992 https://blog.csdn.net/weixin_382293 ...

  5. Lombok - 使用注解让你的JavaBean变得更加简洁

    Lombok - 工具简介: Lombok是一个编译时注释预处理器,有助于在编译时注入一些代码.Lombok提供了一组在开发时处理的注释,以将代码注入到Java应用程序中,注入的代码在开发环境中立即可 ...

  6. 来自lombok的注解(解决idea中的找不到get,set方法,找不到log的问题)

    今天看代码,发现idea报错,仔细一看调用的get,set方法bean中都没有,但是运行起来却没有问题,这个让我很疑惑.后来发现在类上有一个以前没见过的注解@Data,大概就是因为有他的原因.这个注解 ...

  7. 20190905 Lombok常用注解

    Lombok常用注解 val 用于声明类型,将从初始化表达式推断出类型,仅适用于局部变量和foreach循环,而不适用于字段.声明的局部变量为final变量. Java自带类型推断随着JDK版本提升越 ...

  8. 添加Lombok插件后调用Setter或Getter方法IDEA编译错误

    虽然添加Lombok插件,但是调用Setter或Getter方法IDEA编译错误,主要原因如下 解决办法:

  9. 第三方工具系列--Lombok常用注解

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9329798.html Lombok注解解析: @NonNull 使用在方法的参数或者构造 ...

随机推荐

  1. 带你掌握Java各种日志框架

    一:日志基本概念及框架 1:什么是日志 Java程序员在开发项目时都是依赖Eclipse/IDEA等集成开发工具的Debug调试功能来跟踪解决Bug,但项目打包部署发布到了测试环境和生产环境怎么办?难 ...

  2. 什么是ETCD及其应用场景

    ​ 源自公众号:BiggerBoy 一.什么是etcd? etcd 发音为/ˈɛtsiːdiː/,名字的由来,"distributed etc directory.",意思是&qu ...

  3. 深入分析CVE-2021-4034及漏洞复现

    正向shell总结 一.winrm,http.sys(端口复用) 介绍 winrm WinRM全称是Windows Remote Management,是微软服务器硬件管理功能的一部分,能够对本地或远 ...

  4. 2020年的第一天-我的IDEA出现This license ... has been cancelled

    IDEA激活在1月3日的早上,激活码被取消了.提示:This license ... has been cancelled. 经过查询.解决方法教程无非是. ¥%--&*(激活码... 210 ...

  5. RSA公私钥生成与使用

    参考 KeyStore 简述 Keytool 简述 Certificate Chain (证书链) 简述 详解RSA加密算法

  6. 关于oracle中(+)的运用

    一.基础 1.1 SQL查询的基本原理 第一.单表查询:根据WHERE条件过滤表中的记录,形成中间表(这个中间表对用户是不可见的):然后根据SELECT的选择列选择相应的列进行返回最终结果.第二.两表 ...

  7. 关于WebStorm 破解

    建议资金宽裕,支持正版 2017.2.27更新 选择"license server" 输入:http://idea.imsxm.com/ 2016.2.2 版本的破解方式: 安装以 ...

  8. iOS 通知扩展插件

    iOS 通知扩展插件 目录 iOS 通知扩展插件 Notification Service Extension 新建一个target 代码实现 注意事项 UINotificationConentExt ...

  9. BI工具有多重要?凭什么得到各类企业的热烈追捧?

    近年来,应用BI工具的企业越来越多,企业对BI工具的重视说明企业了解.认识到了数据的价值.数据分析工具已经渐渐成为企业日常经营管理活动中不可或缺的一项重要工作内容.但是你知道企业应该如何挑选BI工具吗 ...

  10. bower install 报错fatal: unable to access 'https://github.com/angular/bower-angular-touch.git/'类错误解决方法

    bower install时出现很多unable to access 'https://github.com/angular/bower-angular-touch.git/'类似的错误, 方法一:( ...