Demo地址:https://gitee.com/pengld-demo/hibernate-validation-demo
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>2.4.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
</dependencies>
package cn.pengld.validator.dto;
import lombok.Data;
import javax.validation.constraints.*;
import java.util.Date;
@Data
public class UserDTO {
private Long id;
@NotEmpty(message = "username is empty")
private String username;
@NotEmpty(message = "pwd is empty")
private String pwd;
@NotEmpty(message = "name is empty")
private String name;
private Boolean sex;
@Past
private Date birth;
private String address;
private String phone;
@Email(message = "email is not correct")
private String email;
@Min(value = 1,message = "age must greater than 1")
private Integer age;
@Override
public String toString() {
return "UserDTO{" +
"id=" + id +
", username='" + username + '\'' +
", pwd='" + pwd + '\'' +
", name='" + name + '\'' +
", sex=" + sex +
", birth=" + birth +
", address='" + address + '\'' +
", phone='" + phone + '\'' +
", email='" + email + '\'' +
", age=" + age +
'}';
}
}
interface
import javax.validation.Valid;
// 接口方法申明
String addUser(@Valid UserDTO userDTO);
impl
package cn.pengld.validator.service.impl;
import cn.pengld.validator.dto.UserDTO;
import cn.pengld.validator.service.UserService;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@Service
@Validated
public class UserServiceImpl implements UserService {
@Override
public String addUser(UserDTO userDTO) {
System.out.println(userDTO.toString());
return "now is at service implements method return block";
}
}
package cn.pengld.validator.handler;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import java.util.HashMap;
import java.util.Map;
@ControllerAdvice(basePackages = "cn.pengld.validator")
@Component
public class ValidateExceptionHandler {
@ExceptionHandler(value = ConstraintViolationException.class)
@ResponseBody
public Map handlValidateException(ConstraintViolationException e){
Map m = new HashMap();
StringBuilder sb = new StringBuilder();
for(ConstraintViolation c : e.getConstraintViolations()){
sb.append(c.getMessage());
}
m.put("code","1001");
m.put("message",sb.toString());
return m;
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/MadLifeBin/article/details/118978709
内容来源于网络,如有侵权,请联系作者删除!