1. 程式人生 > 程式設計 >Spring Boot 通過註解實現資料校驗的方法

Spring Boot 通過註解實現資料校驗的方法

一、依賴

<!--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=郵箱格式不正確

ValidationMessages.properties

四、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 資料校驗內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!