首先需要说明下,本提到的 @NotEmpty、@NotBlank、@NotNull 分别是
javax.validation.constraints.NotEmpty、javax.validation.constraints.NotBlank 、javax.validation.constraints.NotNull。
通过注解的方式我们可以更加优雅的对参数的格式进行校验,但是在使用 @NotEmpty、@NotBlank、@NotNull 的过程中,由于含义有点类似,所以导致使用的时候会有一些迷茫,下面,对这三个注解逐一进行使用上的说明:
@NotNull
适用于基本数据类型(Integer,Long,Double等等),当 @NotNull 注解被使用在 String 类型的数据上,则表示该数据不能为 Null(但是可以为 Empty)
@NotBlank
适用于 String 类型的数据上,加了@NotBlank 注解的参数不能为 Null 且 trim() 之后 size > 0
@NotEmpty
适用于 String、Collection集合、Map、数组等等,加了@NotEmpty 注解的参数不能为 Null 或者 长度为 0
在使用这些注解的时候,还需要注意一点(注:否则会造成注解无效哦!!),那就是在Controller 层定义方法的时候在参数位置上加上 @Valid(javax.validation.Valid) 注解!!!如下图:
这两个参数必须挨着,否则会报错400
Utils工具类
public class Utils {
private static Logger log = LoggerFactory.getLogger(Utils.class);
public static ObjectMapper mapper = new ObjectMapper();
public Utils() {
}
public static String toJSONString(Object obj) {
if (null == obj) {
return null;
} else {
try {
return mapper.writevalueAsString(obj);
} catch (JsonProcessingException var2) {
log.error("系统异常:", var2);
return null;
}
}
}
public static void info(Object info) {
try {
System.out.println(mapper.writevalueAsString(info));
} catch (Exception var2) {
log.error("系统异常:", var2);
}
}
public static void info(Logger log, String info, Object... objs) {
try {
String[] strs = new String[objs.length];
for(int i = 0; i < objs.length; ++i) {
Object o = objs[i];
strs[i] = mapper.writevalueAsString(o);
}
log.info(info, strs);
} catch (Exception var6) {
log.error("系统异常:", var6);
}
}
public static String getReturnErrors(List list) {
Map fieldErrors = new HashMap();
Iterator var2 = list.iterator();
String key;
while(var2.hasNext()) {
ObjectError fieldError = (ObjectError)var2.next();
key = fieldError.getCode();
String msg = fieldError.getDefaultMessage();
if (fieldErrors.containsKey(key)) {
fieldErrors.put(key, (String)fieldErrors.get(key) + "," + msg);
} else {
fieldErrors.put(key, msg);
}
}
List fileErrorsList = new ArrayList();
if (CollectionUtils.isNotEmpty(fieldErrors.keySet())) {
Iterator var7 = fieldErrors.keySet().iterator();
while(var7.hasNext()) {
key = (String)var7.next();
fileErrorsList.add(fieldErrors.get(key));
}
}
return StringUtils.join((Iterable)fileErrorsList.stream().distinct().collect(Collectors.toList()), ";");
}
public static String getReturnFieldErrors(List fieldErrorList) {
Map fieldErrors = new HashMap();
Iterator var2 = fieldErrorList.iterator();
String key;
while(var2.hasNext()) {
FieldError fieldError = (FieldError)var2.next();
key = fieldError.getField();
String msg = fieldError.getDefaultMessage();
if (fieldErrors.containsKey(key)) {
fieldErrors.put(key, (String)fieldErrors.get(key) + "," + msg);
} else {
fieldErrors.put(key, msg);
}
}
List fileErrorsList = new ArrayList();
if (CollectionUtils.isNotEmpty(fieldErrors.keySet())) {
Iterator var7 = fieldErrors.keySet().iterator();
while(var7.hasNext()) {
key = (String)var7.next();
fileErrorsList.add(fieldErrors.get(key));
}
}
return StringUtils.join((Iterable)fileErrorsList.stream().distinct().collect(Collectors.toList()), ";");
}
public static Map buildMap(Object... objs) {
Map map = new HashMap();
for(int i = 0; i < objs.length; ++i) {
int j = i + 1;
map.put(objs[i], objs[j]);
++i;
}
return map;
}
public static void main(String[] args) {
Map map = buildMap("k", "b", "a", new Date());
System.out.println(JSONUtils.toJson(map));
}
public static List buildList(T... objs) {
List list = new ArrayList();
for(int i = 0; i < objs.length; ++i) {
list.add(objs[i]);
}
return list;
}
public static String urlReplace(String url, Object... objs) {
if (StringUtils.isNotBlank(url) && null != objs && objs.length > 0) {
for(int i = 0; i < objs.length; ++i) {
url = url.replace("{" + i + "}", String.valueOf(objs[i]));
}
}
return url;
}
public static String listConcat(List contents) {
StringBuffer s = new StringBuffer();
Iterator var2 = contents.iterator();
while(var2.hasNext()) {
String str = (String)var2.next();
s.append(str);
}
return s.toString();
}
public static String fileNameFilter(String fileName, boolean allReplace) {
String leftStr = "";
String rightStr = "";
String prefxStr = fileName.substring(fileName.lastIndexOf("."), fileName.length());
fileName = fileName.substring(0, fileName.lastIndexOf(prefxStr));
if (!allReplace) {
if (fileName.contains("/")) {
leftStr = fileName.substring(0, fileName.lastIndexOf("/") + 1);
rightStr = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length());
} else {
rightStr = fileName;
}
} else {
rightStr = fileName;
}
rightStr = rightStr.replaceAll("[^A-Za-z\u4e00-\u9fa5]*", "");
fileName = leftStr + rightStr + "-" + DateUtils.formatDate(new Date(), "yyyyMMddHHmmss") + prefxStr;
return fileName;
}
public static List> subToPageData(List list, int pageSize) {
List> dataList = new ArrayList();
if (CollectionUtils.isEmpty(list)) {
return dataList;
} else {
int pageNum = 0;
int startIndex = false;
int endIndex = false;
int totalRows = list.size();
for(int totalPage = (int)Math.ceil(Double.valueOf((double)totalRows) / (double)pageSize); pageNum < totalPage; ++pageNum) {
int startIndex = pageNum * pageSize;
int endIndex = (pageNum + 1) * pageSize;
endIndex = endIndex >= totalRows ? totalRows : endIndex;
List pojos = list.subList(startIndex, endIndex);
dataList.add(pojos);
}
return dataList;
}
}
public static String listToString(List inspecterDeptNames, String separator) {
StringBuffer buffer = new StringBuffer();
if (org.springframework.util.CollectionUtils.isEmpty(inspecterDeptNames)) {
return buffer.toString();
} else {
for(int i = 0; i < inspecterDeptNames.size(); ++i) {
if (i != 0) {
buffer.append(",");
}
buffer.append((String)inspecterDeptNames.get(i));
buffer.append(separator);
}
return buffer.toString();
}
}
public static String generateSixNum() {
String sources = "0123456789";
Random rand = new Random();
StringBuffer flag = new StringBuffer();
for(int j = 0; j < 6; ++j) {
flag.append(sources.charAt(rand.nextInt(9)) + "");
}
return flag.toString();
}
public static linkedList vaildator(T t, Class[] validClass) {
linkedList errorsMessageList = new linkedList();
Set> validateSet = Validation.buildDefaultValidatorFactory().getValidator().validate(t, validClass);
if (!validateSet.isEmpty()) {
Iterator var4 = validateSet.iterator();
while(var4.hasNext()) {
ConstraintViolation cons = (ConstraintViolation)var4.next();
errorsMessageList.add(new FieldError("form", cons.getPropertyPath().toString(), cons.getMessageTemplate()));
}
}
return errorsMessageList;
}
}



