SpringBoot註解驗證參數

  • SpringBoot註解驗證參數
    在這裏插入圖片描述

  • 使用實例

      public class Test {
      
          @NotNull(message = "ID不能爲空")
          @Range(min = 1, max = 100, message = "ID必須在1到100之間")
          private Integer id;
      
          @NotBlank(message = "姓名不能爲空")
          @Length(min = 2, max = 6, message = "姓名必須在2到6位之間")
          private String name;
      
          @NotNull(message = "餘額不能爲空")
          @DecimalMax(value = "30.50", message = "餘額不能超過30.5")
          @DecimalMin(value = "1.50", message = "餘額不能低於1.5")
          private BigDecimal amount;
      
          @NotNull(message = "生日不能爲空")
          @Past(message = "生日必須是過去")
          private Date birthday;
      
          @NotBlank(message = "郵箱不能爲空")
          @Email(message = "郵箱格式不正確")
          private String email;
      
          @NotBlank(message = "手機號不能爲空")
          @Pattern(regexp = "^(((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(16[6])|(17[0135678])|(18[0-9])|(19[89]))\\d{8})$", message = "手機號格式錯誤")
          private String phone;
      
      }
    
  • 然後在controller的每個接口中使用@Validated和BindingResult類;@Validated註解用於驗證一個入參,驗證之後的消息綁定到BindingResult類中:

    @PostMapping("/test")
    @ApiOperation(value = "測試", notes = "", response = Result.class)
    public Result test(@ApiParam(name = "test", value = "參數", required = true) @Validated @RequestBody Test test, BindingResult bindingResult) {
        if(bindingResult.hasErrors()){
            String errorMsg = bindingResult.getFieldError().getDefaultMessage();
            return Result.error(errorMsg);
        }
        return Result.ok("參數驗證通過");
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章