diff --git a/weblog-web/pom.xml b/weblog-web/pom.xml
index da0ad2d03e816484c7537e9ce9158df4c5590936..ac48acc4b04e2e49f67719663b4115531cb8793f 100644
--- a/weblog-web/pom.xml
+++ b/weblog-web/pom.xml
@@ -45,6 +45,10 @@
org.springframework.boot
spring-boot-starter-web
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
diff --git a/weblog-web/src/main/java/com/qianyong/weblog/web/controller/TestController.java b/weblog-web/src/main/java/com/qianyong/weblog/web/controller/TestController.java
index 6f7a2269d9d75514bc4b0beff9faab8bf3689e2e..9f323b836a6a7fc58b0f119726eeb980c33441e9 100644
--- a/weblog-web/src/main/java/com/qianyong/weblog/web/controller/TestController.java
+++ b/weblog-web/src/main/java/com/qianyong/weblog/web/controller/TestController.java
@@ -3,10 +3,16 @@ package com.qianyong.weblog.web.controller;
import com.qianyong.weblog.common.aspect.ApiOperationLog;
import com.qianyong.weblog.web.model.User;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.ResponseEntity;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.FieldError;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
+import java.util.stream.Collectors;
+
/**
* Created with IntelliJ IDEA.
*
@@ -24,4 +30,22 @@ public class TestController {
// 返参
return user;
}
+
+ @PostMapping("/field")
+ @ApiOperationLog(description = "测试接口field")
+ public ResponseEntity field(@RequestBody @Validated User user, BindingResult bindingResult) {
+ // 是否存在校验错误
+ if (bindingResult.hasErrors()) {
+ // 获取校验不通过字段的提示信息
+ String errorMsg = bindingResult.getFieldErrors()
+ .stream()
+ .map(FieldError::getDefaultMessage)
+ .collect(Collectors.joining(", "));
+
+ return ResponseEntity.badRequest().body(errorMsg);
+ }
+
+ // 返参
+ return ResponseEntity.ok("参数没有任何问题");
+ }
}
diff --git a/weblog-web/src/main/java/com/qianyong/weblog/web/model/User.java b/weblog-web/src/main/java/com/qianyong/weblog/web/model/User.java
index cab37b4534302fa61311b2c4f9951660e0329015..088aa052787282460c9a7a57f2141ba451aeb5f4 100644
--- a/weblog-web/src/main/java/com/qianyong/weblog/web/model/User.java
+++ b/weblog-web/src/main/java/com/qianyong/weblog/web/model/User.java
@@ -2,6 +2,8 @@ package com.qianyong.weblog.web.model;
import lombok.Data;
+import javax.validation.constraints.*;
+
/**
* Created with IntelliJ IDEA.
*
@@ -13,7 +15,20 @@ import lombok.Data;
@Data
public class User {
// 用户名
+ @NotBlank(message = "用户名不能为空") // 注解确保用户名不为空
private String username;
// 性别
+ @NotNull(message = "性别不能为空") // 注解确保性别不为空
private Integer sex;
+
+ // 年龄
+ @NotNull(message = "年龄不能为空")
+ @Min(value = 18, message = "年龄必须大于或等于 18") // 注解确保年龄大于等于 18
+ @Max(value = 100, message = "年龄必须小于或等于 100") // 注解确保年龄小于等于 100
+ private Integer age;
+
+ // 邮箱
+ @NotBlank(message = "邮箱不能为空")
+ @Email(message = "邮箱格式不正确") // 注解确保邮箱格式正确
+ private String email;
}