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