Java中注解@validated使用
步骤一:首先要在DTO中添加校验规则
在DTO中可加各种校验,例如
package com.example.validateddemo.entity.dto;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.*;
/**
* 用户实体
* 数据传输对象
*/
@Data
public class UserDTO {
/**
* 用户名
*/
@NotBlank(message = "用户名不能为空!")
private String username;
/**
* 性别
*/
@NotBlank(message = "性别不能为空!")
private String gender;
/**
* 年龄
*/
@Min(value = 1, message = "年龄有误!")
@Max(value = 120, message = "年龄有误!")
private int age;
/**
* 地址
*/
@NotBlank(message = "地址不能为空!")
private String address;
/**
* 邮箱
*/
@Email(message = "邮箱有误!")
private String email;
/**
* 手机号码
*/
@Pattern(regexp = "^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}$",message = "手机号码有误!")
private String mobile;
}
步骤二:在使用DTO的contorller层中使用@Validated注解
例如
@Operation(summary = "创建用户")
@PostMapping()
public UserDTO saveUser(@RequestBody @Validated UserDTO userDTO){
return userService.saveUser(userDTO);
}
附录
所有参数注解含义