在 Spring Boot 中进行分组校验
在Spring Boot中,你可以使用Hibernate Validator进行数据校验,它提供了对Bean校验的支持,包括对属性的分组验证。
以下是一个简单的例子,演示如何在Spring Boot中使用分组验证:
- 首先,添加Hibernate Validator依赖到你的
pom.xml
文件中:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
- 创建一个分组接口:
public interface ValidationGroup {
interface Create extends Default {}
interface Update extends Default {}
}
- 在你的实体类中使用分组验证注解:
import javax.validation.constraints.NotBlank;
import javax.validation.groups.Default;
public class User {
@NotBlank(groups = ValidationGroup.Create.class, message = "用户名不能为空")
private String username;
@NotBlank(groups = ValidationGroup.Update.class, message = "密码不能为空")
private String password;
// getters and setters
}
- 在你的Controller中使用分组进行验证:
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;
@RestController
public class UserController {
@PostMapping("/user/create")
public String createUser(@Validated({ValidationGroup.Create.class}) @RequestBody User user) {
// 创建用户逻辑
return "用户创建成功";
}
@PostMapping("/user/update")
public String updateUser(@Validated({ValidationGroup.Update.class}) @RequestBody User user) {
// 更新用户逻辑
return "用户更新成功";
}
}
- 确保你的Spring Boot应用启动类上开启了验证功能:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.validation.beanvalidation.MethodValidationPostProcessor;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
// 开启方法级别的验证
@
评论已关闭