SpringBoot的controller层使用Validated注解做接口参数校验

128 阅读2分钟
@Validated注解@Valid注解
用在类型、方法和方法参数上。但是不能用在成员属性(字段)上用在方法、构造函数、方法参数和成员属性(字段)上

常用的校验规则如下:

注解说明
@Null限制只能为null
@NotNull限制必须不为null
@AssertFalse限制必须为false
@AssertTrue限制必须为true
@DecimalMax(value)限制必须为一个不大于指定值的数字
@DecimalMin(value)限制必须为一个不小于指定值的数字
@Digits(integer,fraction)限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction
@Future限制必须是一个将来的日期
@Max(value)限制必须为一个不大于指定值的数字
@Min(value)限制必须为一个不小于指定值的数字
@Past限制必须是一个过去的日期
@Pattern(value)限制必须符合指定的正则表达式
@Size(max,min)限制字符长度必须在min到max之间
@NotEmpty验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
@NotBlank验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格
@Email证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式

entity层
在这里插入图片描述
controller层
在这里插入图片描述

在这里插入图片描述
util工具

package com.yyy.demo.util;


public class validResult {
    private Integer code;   //返回编码
    private String msg;     //返回信息
    private Object data;    //返回数据

    public validResult() {
    }
    public validResult(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
    public validResult(Integer code, String msg, Object data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
}

控制台打印
在这里插入图片描述
postman打印
在这里插入图片描述