一、 创建一个SpringBoot项目,导入相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Hibernate Validator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>2.7.0</version>
</dependency>
二、创建测试的实体类和控制器
1. 在entity包下创建用于测试的实体类Student
package com.spq.hibernatevalidatordemo.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @Description 测试实体类
* @Date 2022/1/20
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class Student {
@NotNull(message = "id不能为空")
private Long id;
@NotBlank(message = "姓名不能为空")
private String name;
@Range(min = 1, max = 150, message = "年龄不能小于1和大于150")
private Short age;
@NotBlank(message = "性别不能为空")
private String sex;
@NotEmpty(message = "兴趣不能为空")
private List<String> interest;
}
2. 在controller包下创建控制器StudentController
package com.spq.hibernatevalidatordemo.controller;
import com.spq.hibernatevalidatordemo.entity.Student;
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;
/**
* @Description 用于测试的控制器
* @Date 2022/1/20
*/
@RestController
public class StudentController {
/**
* 用于测试的方法,返回方法传过来的参数
*/
@PostMapping("/valid")
public String valid(@RequestBody @Validated Student student) {
return student.toString();
}
}
三、 使用Postman测试方法
1. 测试正确的情况