Idea正则表达式一键替换注释,生成@ApiModelProperty("")

平常日常开发中,返回给前端的vo对象在字段上需要加注释@ApiModelProperty("xxx"),方便在前端同事在swagger文档看注释,一般我是domain对象生成之后,复制代码到vo对象里,然后再修改Java块注释为前端的注释@ApiModelProperty("xxx"),那怎么从以下的代码注释转为@ApiModelProperty("xxx")注释呢?如果字段很多的话,一个一个写会比较耗时也枯燥,可以用正则表达式一键替。

    /**
     * xxx
     */

(1)domain对象

@Data
@Table
@Entity
public class FactoryOrder {

    /**
     * id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 订单号
     */
    private String orderNum;

    /**
     * 订单创建时间
     */
    private Long createTime;

    /**
     * 员工工号
     */
    private String staffId;

    /**
     * 员工名称
     */
    private String staffName;

    /**
     * 订单总金额
     */
    private Integer orderPrice;

    /**
     * 订单类型
     */
    private String type;
}

(2)将字段复制到vo对象里

@Data
public class FactoryOrderVO {

    /**
     * id
     */
    private Long id;

    /**
     * 订单号
     */
    private String orderNum;

    /**
     * 订单创建时间
     */
    private Long createTime;

    /**
     * 员工工号
     */
    private String staffId;

    /**
     * 员工名称
     */
    private String staffName;

    /**
     * 订单总金额
     */
    private Integer orderPrice;

    /**
     * 订单类型
     */
    private String type;
}

(3)快捷键ctrl+r弹出替换代码功能,选中Regex(此项为使用正则表达式功能),接着在第一个框就可以写正则表达式了,然后第二个框写上要替换的内容即可,如图可以看出已经框出了正则表达式所匹配的内容了,接着点击Replace all即可全局替换为@ApiModelProperty("xxx")。

  • 动态图如下(可能有点慢,加载一下就好了 ^ ^):


(4)用到的正则表达式是这个:

\/\*\*\n *\* ([^\n]*)\n *\*\/

一般根据可以根据自己domain对象写的注释来写对应的正则表达式,我简单说一下我的这个正则表达式,这里最主要是用了正则的(pattern)语法,即表达式捕获注释的内容,最后通过$1得到捕获的注释,写到@ApiModelProperty("$1")来替换。
有关正则表达式入门的学习,可以看这个博主写:正则表达式30分钟入门教程,还有这个博主的总结:常用正则表达式,用的时候多看看就好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章