From d2c745d3fdce8a45c8403bbf0301d58fe05b3b35 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 14 五月 2021 15:12:40 +0800 Subject: [PATCH] add 代码生成器 增加校验注解 --- ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm | 9 +++- ruoyi-generator/src/main/resources/vm/java/controller.java.vm | 27 ++++++------- ruoyi-ui/src/views/index.vue | 27 +++++++------ ruoyi-generator/src/main/resources/vm/java/addBo.java.vm | 6 +++ README.md | 7 ++- ruoyi-generator/src/main/resources/vm/java/editBo.java.vm | 6 +++ 6 files changed, 50 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 66151c3..277f48d 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ * 鐩戞帶妗嗘灦 spring-boot-admin 鍏ㄦ柟浣嶆湇鍔$洃鎺� * 鏍¢獙妗嗘灦 validation 澧炲己鎺ュ彛瀹夊叏鎬� 涓ヨ皑鎬� * 鏂囨。妗嗘灦 knife4j 缇庡寲鎺ュ彛鏂囨。 -* 浠g爜鐢熸垚鍣ㄥ彲浠ヤ竴閿敓鎴愬墠鍚庣浠g爜 +* 浠g爜鐢熸垚鍣� 涓�閿敓鎴愬墠鍚庣浠g爜 ## 淇敼RuoYi鍔熻兘 @@ -32,17 +32,20 @@ ### 浠g爜鏀瑰姩 * 鎵�鏈夊師鐢熷姛鑳戒娇鐢� Mybatis-Plus 涓� Lombok 閲嶅啓 +* 澧炲姞 IServicePlus 涓� BaseMapperPlus 鍙嚜瀹氫箟閫氱敤鏂规硶 * 浠g爜鐢熸垚妯℃澘 鏀逛负閫傞厤 Mybatis-Plus 鐨勪唬鐮� * 浠g爜鐢熸垚妯℃澘 鎷嗗垎鍑� Vo,QueryBo,AddBo,EditBo 绛夐鍩熷璞� -* 澧炲姞 IServicePlus 涓� BaseMapperPlus 鍙嚜瀹氫箟閫氱敤鏂规硶 +* 浠g爜鐢熸垚妯℃澘 澧炲姞 鏂囨。娉ㄨВ 涓� 鏍¢獙娉ㄨВ 绠�鍖栭�氱敤鎿嶄綔 * 椤圭洰淇敼涓� maven澶氱幆澧冮厤缃� * 椤圭洰閰嶇疆淇敼涓� application.yml 缁熶竴绠$悊 ### 鍏朵粬 + * 鍚屾鍗囩骇 RuoYi-Vue 3.4.0 * 鍗曟ā鍧� fast 鍒嗘敮 [RuoYi-Vue-Plus-fast](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/tree/fast/) ## 鍏虫敞浣滆��(鎵爜璇峰娉�: "鍔犵兢") +  ## 閲嶇偣娉ㄦ剰浜嬮」 diff --git a/ruoyi-generator/src/main/resources/vm/java/addBo.java.vm b/ruoyi-generator/src/main/resources/vm/java/addBo.java.vm index ad5e2e7..41fa0e9 100644 --- a/ruoyi-generator/src/main/resources/vm/java/addBo.java.vm +++ b/ruoyi-generator/src/main/resources/vm/java/addBo.java.vm @@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.util.Date; +import javax.validation.constraints.*; #foreach ($import in $importList) @@ -28,6 +29,11 @@ #if($column.javaType == 'Date') @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") #end +#if($column.javaType == 'String') + @NotBlank(message = "$column.columnComment涓嶈兘涓虹┖") +#else + @NotNull(message = "$column.columnComment涓嶈兘涓虹┖") +#end private $column.javaType $column.javaField; #end #end diff --git a/ruoyi-generator/src/main/resources/vm/java/controller.java.vm b/ruoyi-generator/src/main/resources/vm/java/controller.java.vm index 1600dbd..b40b497 100644 --- a/ruoyi-generator/src/main/resources/vm/java/controller.java.vm +++ b/ruoyi-generator/src/main/resources/vm/java/controller.java.vm @@ -4,16 +4,11 @@ import java.util.Arrays; import lombok.RequiredArgsConstructor; +import javax.validation.constraints.*; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -52,11 +47,11 @@ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") @GetMapping("/list") #if($table.crud || $table.sub) - public TableDataInfo<${ClassName}Vo> list(${ClassName}QueryBo bo) { + public TableDataInfo<${ClassName}Vo> list(@Validated ${ClassName}QueryBo bo) { return i${ClassName}Service.queryPageList(bo); } #elseif($table.tree) - public AjaxResult<List<${ClassName}Vo>> list(${ClassName}QueryBo bo) { + public AjaxResult<List<${ClassName}Vo>> list(@Validated ${ClassName}QueryBo bo) { List<${ClassName}Vo> list = i${ClassName}Service.queryList(bo); return AjaxResult.success(list); } @@ -69,7 +64,7 @@ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')") @Log(title = "${functionName}", businessType = BusinessType.EXPORT) @GetMapping("/export") - public AjaxResult<${ClassName}Vo> export(${ClassName}QueryBo bo) { + public AjaxResult<${ClassName}Vo> export(@Validated ${ClassName}QueryBo bo) { List<${ClassName}Vo> list = i${ClassName}Service.queryList(bo); ExcelUtil<${ClassName}Vo> util = new ExcelUtil<${ClassName}Vo>(${ClassName}Vo.class); return util.exportExcel(list, "${functionName}"); @@ -81,7 +76,8 @@ @ApiOperation("鑾峰彇${functionName}璇︾粏淇℃伅") @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')") @GetMapping("/{${pkColumn.javaField}}") - public AjaxResult<${ClassName}Vo> getInfo(@PathVariable("${pkColumn.javaField}" ) ${pkColumn.javaType} ${pkColumn.javaField}) { + public AjaxResult<${ClassName}Vo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) { return AjaxResult.success(i${ClassName}Service.queryById(${pkColumn.javaField})); } @@ -92,7 +88,7 @@ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')") @Log(title = "${functionName}", businessType = BusinessType.INSERT) @PostMapping() - public AjaxResult<Void> add(@RequestBody ${ClassName}AddBo bo) { + public AjaxResult<Void> add(@Validated @RequestBody ${ClassName}AddBo bo) { return toAjax(i${ClassName}Service.insertByAddBo(bo) ? 1 : 0); } @@ -103,7 +99,7 @@ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')") @Log(title = "${functionName}", businessType = BusinessType.UPDATE) @PutMapping() - public AjaxResult<Void> edit(@RequestBody ${ClassName}EditBo bo) { + public AjaxResult<Void> edit(@Validated @RequestBody ${ClassName}EditBo bo) { return toAjax(i${ClassName}Service.updateByEditBo(bo) ? 1 : 0); } @@ -114,7 +110,8 @@ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')") @Log(title = "${functionName}" , businessType = BusinessType.DELETE) @DeleteMapping("/{${pkColumn.javaField}s}") - public AjaxResult<Void> remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) { + public AjaxResult<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) { return toAjax(i${ClassName}Service.deleteWithValidByIds(Arrays.asList(${pkColumn.javaField}s), true) ? 1 : 0); } } diff --git a/ruoyi-generator/src/main/resources/vm/java/editBo.java.vm b/ruoyi-generator/src/main/resources/vm/java/editBo.java.vm index 8fa0c25..3f3d988 100644 --- a/ruoyi-generator/src/main/resources/vm/java/editBo.java.vm +++ b/ruoyi-generator/src/main/resources/vm/java/editBo.java.vm @@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.util.Date; +import javax.validation.constraints.*; #foreach ($import in $importList) import ${import}; @@ -28,6 +29,11 @@ #if($column.javaType == 'Date') @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") #end +#if($column.javaType == 'String') + @NotBlank(message = "$column.columnComment涓嶈兘涓虹┖") +#else + @NotNull(message = "$column.columnComment涓嶈兘涓虹┖") +#end private $column.javaType $column.javaField; #end #end diff --git a/ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm b/ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm index b641ac3..89550fe 100644 --- a/ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm +++ b/ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm @@ -6,8 +6,7 @@ import lombok.EqualsAndHashCode; import java.util.Date; -import java.util.Map; -import java.util.HashMap; +import javax.validation.constraints.*; #foreach ($import in $importList) import ${import}; @@ -29,6 +28,7 @@ #elseif($table.tree) #set($Entity="TreeEntity") #end + @Data @EqualsAndHashCode(callSuper = true) @ApiModel("${functionName}鍒嗛〉鏌ヨ瀵硅薄") @@ -55,6 +55,11 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") #end @ApiModelProperty("$column.columnComment") +#if($column.javaType == 'String') + @NotBlank(message = "$column.columnComment涓嶈兘涓虹┖") +#else + @NotNull(message = "$column.columnComment涓嶈兘涓虹┖") +#end private $column.javaType $column.javaField; #end #end diff --git a/ruoyi-ui/src/views/index.vue b/ruoyi-ui/src/views/index.vue index 24bc8b2..5582f02 100644 --- a/ruoyi-ui/src/views/index.vue +++ b/ruoyi-ui/src/views/index.vue @@ -5,19 +5,20 @@ <h2>RuoYi-Vue-Plus鍚庡彴绠$悊妗嗘灦</h2> <p> 鍩轰簬 RuoYi-Vue 闆嗘垚 Mybatis-Plus Lombok Hutool 绛変究鎹峰紑鍙戝伐鍏� 閫傞厤閲嶅啓鐩稿叧涓氬姟 渚夸簬寮�鍙� 瀹氭湡涓� RuoYi-Vue 鍚屾 - * 鍓嶇寮�鍙戞鏋� Vue銆丒lement UI - * 鍚庣寮�鍙戞鏋� Spring Boot銆丷edis - * 瀹瑰櫒妗嗘灦 Undertow 鍩轰簬 Netty 鐨勯珮鎬ц兘瀹瑰櫒 - * 鏉冮檺璁よ瘉妗嗘灦 Spring Security銆丣wt锛屾敮鎸佸缁堢璁よ瘉绯荤粺 - * 鍏崇郴鏁版嵁搴� MySQL 閫傞厤 8.X - * 缂撳瓨鏁版嵁搴� Redis 閫傞厤 6.X - * 鏁版嵁搴撳紑鍙戞鏋� Mybatis-Plus 蹇�� CRUD 澧炲姞寮�鍙戞晥鐜� 鎻掍欢鍖栨敮鎸佸悇绫婚渶姹� - * 缃戠粶妗嗘灦 Feign銆丱kHttp3 鎺ュ彛鍖栫鐞� HTTP 璇锋眰 - * 宸ュ叿绫绘鏋� Hutool銆丩ombok 鍑忓皯浠g爜鍐椾綑 澧炲姞瀹夊叏鎬� - * 鐩戞帶妗嗘灦 spring-boot-admin 鍏ㄦ柟浣嶆湇鍔$洃鎺� - * 鏍¢獙妗嗘灦 validation 澧炲己鎺ュ彛瀹夊叏鎬� 涓ヨ皑鎬� - * 鏂囨。妗嗘灦 knife4j 缇庡寲鎺ュ彛鏂囨。 - * 浠g爜鐢熸垚鍣ㄥ彲浠ヤ竴閿敓鎴愬墠鍚庣浠g爜 + <br/> + * 鍓嶇寮�鍙戞鏋� Vue銆丒lement UI<br/> + * 鍚庣寮�鍙戞鏋� Spring Boot銆丷edis<br/> + * 瀹瑰櫒妗嗘灦 Undertow 鍩轰簬 Netty 鐨勯珮鎬ц兘瀹瑰櫒<br/> + * 鏉冮檺璁よ瘉妗嗘灦 Spring Security銆丣wt锛屾敮鎸佸缁堢璁よ瘉绯荤粺<br/> + * 鍏崇郴鏁版嵁搴� MySQL 閫傞厤 8.X<br/> + * 缂撳瓨鏁版嵁搴� Redis 閫傞厤 6.X<br/> + * 鏁版嵁搴撳紑鍙戞鏋� Mybatis-Plus 蹇�� CRUD 澧炲姞寮�鍙戞晥鐜� 鎻掍欢鍖栨敮鎸佸悇绫婚渶姹�<br/> + * 缃戠粶妗嗘灦 Feign銆丱kHttp3 鎺ュ彛鍖栫鐞� HTTP 璇锋眰<br/> + * 宸ュ叿绫绘鏋� Hutool銆丩ombok 鍑忓皯浠g爜鍐椾綑 澧炲姞瀹夊叏鎬�<br/> + * 鐩戞帶妗嗘灦 spring-boot-admin 鍏ㄦ柟浣嶆湇鍔$洃鎺�<br/> + * 鏍¢獙妗嗘灦 validation 澧炲己鎺ュ彛瀹夊叏鎬� 涓ヨ皑鎬�<br/> + * 鏂囨。妗嗘灦 knife4j 缇庡寲鎺ュ彛鏂囨。<br/> + * 浠g爜鐢熸垚鍣� 涓�閿敓鎴愬墠鍚庣浠g爜<br/> </p> <p> <b>褰撳墠鐗堟湰:</b> <span>v{{ version }}</span> -- Gitblit v1.9.3