Spring Boot 通過註解實現資料校驗的方法
阿新 • • 發佈:2020-09-30
一、依賴
<!--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 資料校驗內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!