一、概述
虽然前端系统对后台API接口调用之前都会做数据的校验,但是考虑到很多API接口是直接暴露在外网中,后台接口对传入的参数做校验是不可缺少的。比如判断字段非空,字段长度限制,邮箱格式验证等,这时就可以用到Validation。
二、创建Spring Boot工程



三、创建类
3.1 UserVo类
package com.anron.vo;
import lombok.Data;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.util.List;
/**
* @Author: Anron
* @Date: 2020/3/29 17:30
*/
@Data
public class UserVo implements Serializable {
private static final long serialVersionUID = 3869883763128105939L;
@NotEmpty(message="{vo.UserVo.NAME_NOT_EMPTY}")
private String name;
@Min(value=18, message="{vo.UserVo.AGE_MUST_GREATERTHAN_18}")
private int age;
@NotEmpty(message="{vo.UserVo.HOBILLES_NOT_EMPTY}")
private List<String> hobbies;
@NotBlank(message="{vo.UserVo.ACCOUNT_NOT_EMPTY}")
private String account;
@NotNull(message="{vo.UserVo.PLATENO_NOT_EMPTY}")
private String plateNo;
@NotBlank(message="{vo.UserVo.ADDRESS_NOT_EMPTY}")
private String address;
@Size(min=6, max=20, message="{vo.UserVo.PASSWORD_SIZE}")
@NotBlank(message="{vo.UserVo.PASSWORD_NOT_EMPTY}")
private String password;
@Email(message="{vo.UserVo.EMAIL_ERROR_FORMAT}")
@NotBlank(message="{vo.UserVo.EMAIL_NOT_EMPTY}")
private String email;
}
3.2 AppController类
package com.anron.controller;
import com.anron.dto.BaseDto;
import com.anron.util.WebControllerUtil;
import com.anron.vo.UserVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.validation.

2044

被折叠的 条评论
为什么被折叠?



