引用jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
编写注解类
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.TYPE_USE})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = UserStatusValidator.class)
@Documented
public @interface UserStatus {
String message() default "没有这个类型,请重新选择!";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
编写注解实现类
public class UserStatusValidator implements ConstraintValidator<UserStatus,Integer> {
@Override
public void initialize(UserStatus constraintAnnotation) {
}
@Override
public boolean isValid(Integer s, ConstraintValidatorContext constraintValidatorContext) {
return Arrays.asList(1,2).contains(s);
}
}
编写vo引用注解
@Data
public class UserVo {
private Integer id;
private String name;
@UserStatus(message = "用户类型错误!")
private Integer status;
}
编写调用
@RequestMapping(value = "/user/addUser", produces = MediaType.APPLICATION_JSON_VALUE,method = {RequestMethod.POST})
@ResponseBody
public ResultDTO<String> addUser(@RequestBody @Valid UserVo userVo){
logger.info("addUser-{} start ." , JSON.toJSONString(userVo));
return new ResultDTO<>();
}
调用结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b6a7957f0413a7e6fef713a54ee80654.png)