瀏覽代碼

代码生成器支持生成 Swagger2 注解

hubin 7 年之前
父節點
當前提交
738478f3be

+ 5 - 0
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/GlobalConfig.java

@@ -63,6 +63,11 @@ public class GlobalConfig {
      */
     private boolean kotlin = false;
 
+    /**
+     * 开启 swagger2 模式
+     */
+    private boolean swagger2 = false;
+
     /**
      * 开启 ActiveRecord 模式
      */

+ 1 - 0
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/engine/AbstractTemplateEngine.java

@@ -223,6 +223,7 @@ public abstract class AbstractTemplateEngine {
         objectMap.put("versionFieldName", config.getStrategyConfig().getVersionFieldName());
         objectMap.put("activeRecord", globalConfig.isActiveRecord());
         objectMap.put("kotlin", globalConfig.isKotlin());
+        objectMap.put("swagger2", globalConfig.isSwagger2());
         objectMap.put("date", new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
         objectMap.put("table", tableInfo);
         objectMap.put("enableCache", globalConfig.isEnableCache());

+ 11 - 1
mybatis-plus-generator/src/main/resources/templates/entity.java.ftl

@@ -3,8 +3,11 @@ package ${package.Entity};
 <#list table.importPackages as pkg>
 import ${pkg};
 </#list>
+<#if swagger2>
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+</#if>
 <#if entityLombokModel>
-
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -30,6 +33,9 @@ import lombok.experimental.Accessors;
 <#if table.convert>
 @TableName("${table.name}")
 </#if>
+<#if swagger2>
+@ApiModel(value="${entity}对象", description="${table.comment!}")
+</#if>
 <#if superEntityClass??>
 public class ${entity} extends ${superEntityClass}<#if activeRecord><${entity}></#if> {
 <#elseif activeRecord>
@@ -46,10 +52,14 @@ public class ${entity} implements Serializable {
     </#if>
 
     <#if field.comment!?length gt 0>
+    <#if swagger2>
+    @ApiModelProperty(value = "${field.comment}")
+    <#else>
     /**
      * ${field.comment}
      */
     </#if>
+    </#if>
     <#if field.keyFlag>
     <#-- 主键 -->
         <#if field.keyIdentityFlag>

+ 12 - 2
mybatis-plus-generator/src/main/resources/templates/entity.java.vm

@@ -3,8 +3,11 @@ package ${package.Entity};
 #foreach($pkg in ${table.importPackages})
 import ${pkg};
 #end
+#if(${swagger2})
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+#end
 #if(${entityLombokModel})
-
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -30,6 +33,9 @@ import lombok.experimental.Accessors;
 #if(${table.convert})
 @TableName("${table.name}")
 #end
+#if(${swagger2})
+@ApiModel(value="${entity}对象", description="$!{table.comment}")
+#end
 #if(${superEntityClass})
 public class ${entity} extends ${superEntityClass}#if(${activeRecord})<${entity}>#end {
 #elseif(${activeRecord})
@@ -39,16 +45,20 @@ public class ${entity} implements Serializable {
 #end
 
     private static final long serialVersionUID = 1L;
-
 ## ----------  BEGIN 字段循环遍历  ----------
 #foreach($field in ${table.fields})
+
 #if(${field.keyFlag})
 #set($keyPropertyName=${field.propertyName})
 #end
 #if("$!field.comment" != "")
+    #if(${swagger2})
+    @ApiModelProperty(value = "${field.comment}")
+    #else
     /**
      * ${field.comment}
      */
+     #end
 #end
 #if(${field.keyFlag})
 ## 主键

+ 2 - 1
mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/test/generator/PostgreSQLGenerator.java

@@ -41,7 +41,8 @@ public class PostgreSQLGenerator extends GeneratorTest {
         gc.setEnableCache(false);// XML 二级缓存
         gc.setBaseResultMap(true);// XML ResultMap
         gc.setBaseColumnList(false);// XML columList
-        //gc.setKotlin(true) 是否生成 kotlin 代码
+        //gc.setKotlin(true); // 是否生成 kotlin 代码
+        //gc.setSwagger2(true); // 是否生成 Swagger2 注解
         gc.setAuthor("hubin");
 
         // 自定义文件命名,注意 %s 会自动填充表实体属性!