Skip to content

Commit 4f2c43d

Browse files
committed
新增分组校验案例及对统一异常处理进行调整
1 parent 6edbed9 commit 4f2c43d

File tree

3 files changed

+10
-17
lines changed

3 files changed

+10
-17
lines changed

Spring-Boot-Hibernate-Validator/src/main/java/com/example/hibernatevalidator/bean/User.java

-4
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@ public User(@NotNull(message = "{required}") String name, @Email(message = "{inv
2323
this.email = email;
2424
}
2525

26-
public static long getSerialVersionUID() {
27-
return serialVersionUID;
28-
}
29-
3026
public String getName() {
3127
return name;
3228
}

Spring-Boot-Hibernate-Validator/src/main/java/com/example/hibernatevalidator/config/GlobalExceptionHandler.java

+9-10
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import org.springframework.core.annotation.Order;
55
import org.springframework.http.HttpStatus;
66
import org.springframework.validation.BindException;
7-
import org.springframework.validation.FieldError;
87
import org.springframework.web.bind.annotation.ExceptionHandler;
98
import org.springframework.web.bind.annotation.ResponseStatus;
109
import org.springframework.web.bind.annotation.RestControllerAdvice;
@@ -35,15 +34,15 @@ public String handleConstraintViolationException(ConstraintViolationException e)
3534
@ExceptionHandler({BindException.class})
3635
@ResponseStatus(HttpStatus.BAD_REQUEST)
3736
public String handleBindException(BindException e) {
38-
StringBuilder message = new StringBuilder();
39-
FieldError fieldError = e.getFieldError();
40-
message.append("Object:")
41-
.append(e.getObjectName())
42-
.append(" Field:")
43-
.append(fieldError.getField())
44-
.append(" Message:")
45-
.append(fieldError.getDefaultMessage());
46-
return message.toString();
37+
StringBuilder stringBuilder = new StringBuilder();
38+
e.getFieldErrors().forEach(item ->{
39+
// 获取错误的属性的名字
40+
String field = item.getField();
41+
// 获取到错误提示
42+
String message = item.getDefaultMessage();
43+
stringBuilder.append(field).append("-").append(message).append(", ");
44+
});
45+
return stringBuilder.toString();
4746
}
4847

4948
}

Spring-Boot-Hibernate-Validator/src/main/java/com/example/hibernatevalidator/controller/TestCustomController.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@
1414
public class TestCustomController {
1515
@GetMapping("test3")
1616
@ResponseBody
17-
public String test3(
18-
@MyConstraint(message = "{illegal}")
19-
String name) {
17+
public String test3(@MyConstraint(message = "{illegal}") String name) {
2018
return "success";
2119
}
2220
}

0 commit comments

Comments
 (0)