SpringBoot2.3.x-JSR303效验不显示
Posted 滑稽404#
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot2.3.x-JSR303效验不显示相关的知识,希望对你有一定的参考价值。
版本
2.3.7.RELEASE
导入依赖
Spring2.3.x的版本取消了JSR依赖包,需要导入
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>${spring-boot.version}</version>
</dependency>
开启效验&获取message
SpringBoot更常用@Validated来开启效验
以前的版本 就算不加BindingResult都能返回message,但是我试了好多次都不行
所以当前版本必须要加 BindingResult来读取错误信息
@RequestMapping("/save")
public R save(@Validated @RequestBody BrandEntity brand, BindingResult bindingResult){
if(bindingResult.hasErrors()){
Map<String,String> map=new HashMap<>();
bindingResult.getFieldErrors().forEach(item->{
// 错误属性的名字
String field = item.getField();
// 错误消息
String message = item.getDefaultMessage();
map.put(field,message);
});
return R.error(400,"提交数据不合法").put("data",map);
} else {
brandService.save(brand);
}
return R.ok();
}
访问接口 成功获得message
以上是关于SpringBoot2.3.x-JSR303效验不显示的主要内容,如果未能解决你的问题,请参考以下文章