1、给实体的属性添加检验注解。import javax.validation.constraints包下,并定义自己的提示
如:@NotBlank,@URL,@NotEmpty
/**
* 品牌名
*/
@NotBlank(message = "品牌名必须提交")
private String name;
/**
* 品牌logo地址
*/
@NotEmpty
@URL(message = "logo必须是一个合法的url地址")
private String logo;
2、开启校验功能@Valid
3、给校验的bean后紧跟BindingResult,就可以获取到校验的结果
/**
* 保存
* @Valid:开启检验注解功能
*/
@RequestMapping("/save")
public R save(@Valid @RequestBody BrandEntity brand, BindingResult bindingResult){
if(bindingResult.hasErrors()){
//校验有错误
Map<String,String> map =new HashMap<>();
//1、获取校验的错误结果
bindingResult.getFieldErrors().forEach((item)->{
//获取到错误提示
String defaultMessage = item.getDefaultMessage();
//获取错误的属性名
String field = item.getField();
//放到map中
map.put(field,defaultMessage);
});
return R.error(400,"提交的数据不合法").put("data",map);
}else {
//校验没有错误没有,执行逻辑代码
brandService.save(brand);
}
return R.ok();
}