一、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. opencv笔记--stitching模块

    opencv 提供了全景图像拼接的所有实现,包括: 1)stitching 模块提供了图像拼接过程中所需要的基本元素,该模块主要依赖于 features2d 模块: 2)提供了 stitching_d ...

  2. Solution -「LOCAL」ZB 平衡树

    \(\mathcal{Description}\)   OurOJ.   维护一列二元组 \((a,b)\),给定初始 \(n\) 个元素,接下来 \(m\) 次操作: 在某个位置插入一个二元组: 翻 ...

  3. Solution -「LOCAL」「cov. HDU 6864」找朋友

    \(\mathcal{Description}\)   Link.(几乎一致)   给定 \(n\) 个点 \(m\) 条边的仙人掌和起点 \(s\),边长度均为 \(1\).令 \(d(u)\) 表 ...

  4. suse 12 二进制部署 Kubernetets 1.19.7 - 第10章 - 部署kube-proxy组件

    文章目录 1.10.部署kube-proxy 1.10.0.创建kube-proxy证书 1.10.1.生成kube-proxy证书和秘钥 1.10.2.创建kube-proxy的kubeconfig ...

  5. Large Sacle Distributed Deep Networks

    本文是谷歌发表在NeurIPS 2012上的一篇论文,主要讨论了在几万个CPU节点上训练大规模深度网络的问题,并提出了一个名为DistBelief的软件框架.在该框架下实现了两种大规模分布式训练算法: ...

  6. go 互斥锁实现原理

    目录 go 互斥锁的实现 1. mutex的数据结构 1.1 mutex结构体,抢锁解锁原理 1.2 mutex方法 2. 加解锁过程 2.1 简单加锁 2.2 加锁被阻塞 2.3 简单解锁 2.4 ...

  7. 磁盘管理及shell脚本编程练习

    转至:http://www.178linux.com/88405 1.创建一个10G分区,并格式为ext4文件系统 a) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂 ...

  8. shell脚本的调试sh-x

    转至:https://blog.csdn.net/yjgithub/article/details/80908079 目录 一.简介 二.sh -x 脚本名.sh 三.set -x 一.简介 使用sh ...

  9. spring的依赖注入的四种方式,数组与集合注入;引用注入;内部bean注入

    三种注入方式 第一种: 基于构造函数 hi.java (bean) package test_one; public class hi { private String name; public hi ...

  10. ASP.NET Core 6框架揭秘实例演示[17]:利用IHttpClientFactory工厂来创建HttpClient

    在一个采用依赖注入框架的应用中,我们一般不太推荐利用手工创建的HttpClient对象来进行HTTP调用,使用的HttpClient对象最好利用注入的IHttpClientFactory工厂来创建.前 ...