【idea】idea插件 通过文档注释生成swagger,easyexcel注解

前言:博主的第二个idea插件审核通过啦 (第一个插件是equals inspection)
idea的plugin marketplace搜swagger excel doc即可下载安装

​功能:通过文档注释生成easy Excel或swagger注解
(快捷键alt+ins)

​实际场景:我们在写实体类代码时 vo返回类或者excel导入导出实体类, 很多时候都是直接复制dto/do类进行修改,而dto/do类基本都通过别的工具生成的 已经带好了文档注释 ,通过插件可以一键生成注解 注解value即为文档注释内容

效果示例:
实体类中 属性已有了文档注释,安装插件后 我们可以按alt+ins 选择生成swagger注解(或easy excel注解)
在这里插入图片描述

选择Swagger Annotation之后,就会自动生成swagger的注解,注解的内容就是我们文档注释的内容,所以只要我们文档注释规范,基本是不需要手动额外写其它内容的,可以节省开发时间。
(如果选择EasyExcel Annotation 则生成easy excel相关的注解)
在这里插入图片描述
下载安装方式:
idea-plugins-marketplace 点击下载安装 重启idea
在这里插入图片描述

当然,授人以鱼不如授人以渔 有需要的同学 可以在github搜索博主的项目 自行拓展其它注解(例如xmlelment等), 按照已有代码规范继承拓展 难度不大

在这里插入图片描述
核心代码其实就是按照下列这部分改写(以easy excel为例):

    /**
     * 生成属性注解
     *
     * @param psiField 类属性元素
     */
    @Override
    public void generateFieldAnnotation(PsiField psiField, AnnotationEnum generateType) {
        PsiComment classComment = null;
        for (PsiElement tmpEle : psiField.getChildren()) {
            if (tmpEle instanceof PsiComment) {
                classComment = (PsiComment) tmpEle;
                // 注释的内容
                String tmpText = classComment.getText();
                String commentDesc = CommentUtils.getCommentDesc(tmpText);
                String apiModelPropertyText = "";

                apiModelPropertyText = String.format("@ExcelProperty(value=\"%s\")", commentDesc);
                this.doWrite("ExcelProperty", "com.alibaba.excel.annotation.ExcelProperty", apiModelPropertyText, psiField);
                this.doWrite("ColumnWidth", "com.alibaba.excel.annotation.write.style.ColumnWidth", "@ColumnWidth(20)", psiField);
            }
        }
        // 如果没有文档注释
        if (Objects.isNull(classComment)) {

            this.doWrite("ExcelProperty", "com.alibaba.excel.annotation.ExcelProperty", "@ExcelProperty(\"\")", psiField);
            this.doWrite("ColumnWidth", "com.alibaba.excel.annotation.write.style.ColumnWidth", "@ColumnWidth(20)", psiField);
        }
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
要快速基于数据库表生成实体类并自动加上swagger注解,可以采取以下步骤: 1. 首先,需要连接数据库,并读取数据库表的结构信息。可以使用数据库连接工具库如JDBC来连接数据库,使用相关API获取表的元数据信息。 2. 获取表的元数据后,可以通过遍历元数据来生成实体类。可以使用字符串拼接的方式,构建出实体类的代码。 3. 在生成实体类的过程中,需要根据元数据的类型和名称来决定实体类的字段类型和名称。根据元数据的类型,可以将数据库的数据类型转换为对应的Java类型。使用字符串拼接的方式,可以将字段类型、名称及其注解添加到实体类的代码中。 4. 在实体类中加入swagger注解,可以通过在生成实体类代码的过程中,根据表的元数据信息,判断是否应该添加swagger注解。根据元数据的属性,可以判断字段是否为必填项、字段的描述等。根据这些元数据属性,可以通过字符串拼接,将swagger注解的相关信息添加到实体类代码中。 5. 完成实体类的生成之后,可以将生成的实体类保存到指定的路径。可以使用IO操作将生成的代码保存为Java文件。 6. 最后,通过编译器编译生成Java文件,将其转换为字节码文件,并加载到JVM中即可。 通过以上步骤,可以快速基于数据库表生成实体类,并自动加上swagger注解。这样可以方便地生成实体类代码,并为API文档的编写提供便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孟秋与你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值