SpringBoot的数据校验

应用程序必须通过某种手段来确定客户端输入的数据是正确的。
springmvc里面讲过有两种方式:一种是使用spring自带的基于接口的验证器,第二种是使用jsr标准实现。
参考文章:https://blog.csdn.net/qq_40794973/article/details/97967016

参考文章:https://blog.csdn.net/a909301740/article/details/81671897

参考文章:http://www.360doc.com/content/18/0829/14/10072361_782131739.shtml

写入实体类的注解校验报红
参考文章:https://blog.csdn.net/qq_41902237/article/details/107511314

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

在这里插入图片描述

package com.southwind.entity;

import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@Data
public class User {
    
    
    @NotNull(message = "id不能为空")
    private Long id;
    @NotEmpty(message = "姓名不能为空")
    @Length(min = 2,message = "姓名长度不能小于2位")
    private String name;
    @Min(value = 16,message = "年龄必须大于16岁")
    private int age;
}
@GetMapping("/validator")
    public void validatorUser(@Valid User user, BindingResult bindingResult){
    
    
        System.out.println(user);
        if(bindingResult.hasErrors()){
    
    
            List<ObjectError> list = bindingResult.getAllErrors();
            for(ObjectError objectError:list){
    
    
                System.out.println(objectError.getCode()+"-"+objectError.getDefaultMessage());
            }
        }
    }

猜你喜欢

转载自blog.csdn.net/liulang68/article/details/108624964