一、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. Deformable Templates For Eye Detection

    1 Abstract This approach was published On "Deformable Templates for Face Recognition" by A ...

  2. Solution -「多校联训」行列式

    \(\mathcal{Description}\)   Link.   给定 \(x,\{d_i\}_{i=1}^n,\{p_i\}_{i=2}^n,\{b_i\}_{i=2}^n,\{c_i\}_{ ...

  3. ☕Java 面向对象进阶内容

    目录 == 和 equals 方法 封装 多态 抽象类和抽象方法 抽象方法 抽象类 抽象类的使用要点 接口 接口使用 内部类 String 字符串常量拼接时的优化 String Pool String ...

  4. 你真的会做数据分析吗?如果不会我推荐思迈特软件Smartbi

    你是否还在被以下问题所困扰? 辛苦辛苦地拿到了一堆数据,却不知道从何下手分析? 因为不会统计数据分析伤透脑筋,而打消考博的梦想? 数据分析求助无门,涌现出想要放弃学位的念头? 突然开天眼般的想到了一个 ...

  5. 【C#表达式树 七】 反射在表达式树中的应用 ListInitExpression

    以下都是反射在表达式树中的应用 对象初始化 Expression.MemberInit 反射获取成员(字段 或者属性),绑定数据,然后生成 成员表达式节点 class Animal { public ...

  6. Redis 7.0 新功能新特性总览

    说明:本文根据Redis 7 RC2 的release note 整理并翻译 近日,Redis 开源社区发布了7.0的两个预览版.在这两个预览版中,有很多Redis 7.0中新增加的特性,新增加的命令 ...

  7. 第九周shell脚本编程练习

    转至:http://www.178linux.com/88838 1.写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin):分别这两 ...

  8. Java课程设计---修改学生基本信息

    1.修改窗体 2.在StudentDao中增加修改学生信息的方法 /** * 修改的方法 * * @param student * @return * @throws SQLException */ ...

  9. 路径修改后cmd命令行窗口仍然没有变化的原因

    修改环境变量后,要重启cmd再输入才有用

  10. Vue 源码解读(11)—— render helper

    前言 上一篇文章 Vue 源码解读(10)-- 编译器 之 生成渲染函数 最后讲到组件更新时,需要先执行编译器生成的渲染函数得到组件的 vnode. 渲染函数之所以能生成 vnode 是通过其中的 _ ...