参数校验之——@Valid校验属性

@Valid校验参数

import javax.validation.Valid;

给实体类属性添加注解校验

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import java.util.Date;

@ToString
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Person {

    @Min(value = 18,message = "未成年人")
    private Integer age;

    @NotEmpty(message = "不能为空")
    private String name;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;
}

测试类:

@RestController
public class Demo1 {

    private final Logger logger = LoggerFactory.getLogger(this.getClass());

    /**
    	使用@Valid校验Person属性,结果绑定到BindingResult
    */
    @PostMapping("/update")
    public Result update(@Valid Person person , BindingResult bindingResult){
        if(bindingResult.hasErrors()){
            List<ObjectError> errorList = bindingResult.getAllErrors();
            for(ObjectError error : errorList){
                logger.info(error.getDefaultMessage());
            }
        }
        return null;
    }
}    

测试:








猜你喜欢

转载自blog.csdn.net/cdw_sunshine/article/details/80360335