From 39f55c08933e7f0292c325f41b0f55390a4acc69 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期一, 25 七月 2022 09:24:05 +0800 Subject: [PATCH] 添加验证,更新前端,修复bug --- src/main/java/com/example/jz/controller/CauseController.java | 3 ++- src/main/java/com/example/jz/auth/MyAccessDeniedHandler.java | 18 ++++++++++++++++++ src/main/java/com/example/jz/service/impl/CauseServiceImpl.java | 1 + src/main/java/com/example/jz/modle/dto/CauseDto.java | 8 ++++++++ pom.xml | 5 +++++ 5 files changed, 34 insertions(+), 1 deletions(-) diff --git a/pom.xml b/pom.xml index 8b63f80..80be62e 100644 --- a/pom.xml +++ b/pom.xml @@ -22,6 +22,11 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> + <!--validatedX--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-validation</artifactId> + </dependency> <!-- 瀹炰綋绫� --> <dependency> <groupId>org.projectlombok</groupId> diff --git a/src/main/java/com/example/jz/auth/MyAccessDeniedHandler.java b/src/main/java/com/example/jz/auth/MyAccessDeniedHandler.java index 0ad7404..b690a95 100644 --- a/src/main/java/com/example/jz/auth/MyAccessDeniedHandler.java +++ b/src/main/java/com/example/jz/auth/MyAccessDeniedHandler.java @@ -3,8 +3,11 @@ import cn.hutool.json.JSONUtil; import com.example.jz.modle.R; +import org.springframework.context.annotation.Bean; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.web.access.AccessDeniedHandler; +import org.springframework.security.web.firewall.HttpFirewall; +import org.springframework.security.web.firewall.StrictHttpFirewall; import org.springframework.stereotype.Component; import javax.servlet.ServletException; @@ -12,6 +15,10 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; +import java.util.regex.Pattern; + +import static java.nio.charset.StandardCharsets.ISO_8859_1; +import static java.nio.charset.StandardCharsets.UTF_8; /** * @author 瀹夌懢鐒� @@ -21,6 +28,17 @@ @Component public class MyAccessDeniedHandler implements AccessDeniedHandler { + @Bean + public HttpFirewall httpFirewall() { + StrictHttpFirewall firewall = new StrictHttpFirewall(); + Pattern allowed = Pattern.compile("[\\p{IsAssigned}&&[^\\p{IsControl}]]*"); + firewall.setAllowedHeaderValues((header) -> { + String parsed = new String(header.getBytes(ISO_8859_1), UTF_8); + return allowed.matcher(parsed).matches(); + }); + return firewall; + } + @Override public void handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, AccessDeniedException e) throws IOException, ServletException { R<String> r = new R<>(); diff --git a/src/main/java/com/example/jz/controller/CauseController.java b/src/main/java/com/example/jz/controller/CauseController.java index 55f3170..6b8201d 100644 --- a/src/main/java/com/example/jz/controller/CauseController.java +++ b/src/main/java/com/example/jz/controller/CauseController.java @@ -16,6 +16,7 @@ import io.swagger.annotations.ApiResponse; import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -52,7 +53,7 @@ @ApiOperation(httpMethod = "POST", value = "妗堜欢鍙�-妗堜欢褰曞叆-娣诲姞妗堜欢") @PostMapping("/addCause") @ApiResponse(message = "鎵ц鎴愬姛", code = 200) - public R addCause(@RequestBody CauseDto causeDto) { + public R addCause(@RequestBody @Validated CauseDto causeDto) { causeService.addCause(causeDto); return R.ok(); } diff --git a/src/main/java/com/example/jz/modle/dto/CauseDto.java b/src/main/java/com/example/jz/modle/dto/CauseDto.java index b0b2ed7..0c95d1f 100644 --- a/src/main/java/com/example/jz/modle/dto/CauseDto.java +++ b/src/main/java/com/example/jz/modle/dto/CauseDto.java @@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.util.Date; @Data @@ -11,25 +13,31 @@ public class CauseDto { //妗堜欢缂栧彿 @ApiModelProperty(dataType = "String", value = "妗堜欢缂栧彿") + @NotBlank(message = "妗堜欢缂栧彿涓嶈兘绌�") private String number; //妗堜欢鍚嶇О @ApiModelProperty(dataType = "String", value = "妗堜欢鍚嶇О") + @NotBlank(message = "妗堜欢鍚嶇О涓嶈兘绌�") private String name; //绗竴娆℃鍙戞椂闂� @ApiModelProperty(dataType = "Date", value = "绗竴娆℃鍙戞椂闂�") + @NotNull(message = "绗竴娆℃鍙戞椂闂翠笉鑳界┖") private Date firstTime; //璐熻矗浜篿d @ApiModelProperty(dataType = "Integer", value = "璐熻矗浜篿d") + @NotNull(message = "璐熻矗浜轰笉鑳戒负绌�") private Integer userId; //妗堜欢鎻忚堪 @ApiModelProperty(dataType = "String", value = "妗堜欢鎻忚堪") + @NotBlank(message = "妗堜欢鎻忚堪涓嶈兘涓虹┖") private String description; //妗堜欢鐘舵�� @ApiModelProperty(dataType = "Integer", value = "妗堜欢鐘舵��") + @NotNull(message = "妗堜欢鐘舵��") private Integer status; } diff --git a/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java b/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java index 40f186f..25e66ce 100644 --- a/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java +++ b/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java @@ -149,6 +149,7 @@ @Override public void deleteCause(Integer id) { causeDao.deleteById(id); + groupDao.delete(new QueryWrapper<Group>().eq("cause_id",id)); } @Override -- Gitblit v1.8.0