Spring Boot 通过注解实现数据校验的方法

时间:2021-05-20

一、依赖

<!--https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <version>2.3.3.RELEASE</version> </dependency>

二、实体类

@TableField("username") @NotBlank(message = "{user.name.notBlank}") private String username; @NotBlank(message = "{user.password.notBlank}") @TableField("password") private String password; @NotBlank(message = "{user.email.notBlank}") @Email(message = "{user.email.pattern}") @TableField("email") private String email;

三、配置

查看LocalValidationFactoryBean类的源码,发现Spring Boot默认的ValidationMessagesSource校验出错时的提示文件是在resources文件夹下文件ValidationMessages.properties

ValidationMessages.properties

user.name.notBlank=用户名不能为空user.password.notBlank=密码不能为空user.email.notBlank=邮箱不能为空user.email.pattern=邮箱格式不正确

四、Controller

/** * 添加用户 * * @param user 用户对象 * @return */ @PostMapping("/insert") public ResultVO<Object> insert(@Validated @RequestBody User user, BindingResult bindingResult) { if (bindingResult.hasErrors()) { List<ObjectError> allErrors = bindingResult.getAllErrors(); return ResultVOUtil.fail(allErrors.stream().map(ObjectError::getDefaultMessage).collect(Collectors.toList())); } userService.insert(user.doBuild()); return ResultVOUtil.success(); }

五、效果

到此这篇关于Spring Boot 通过注解实现数据校验的文章就介绍到这了,更多相关Spring Boot 数据校验内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章