springBoot 使用 @NotEmpty,@NotBlank,@NotNull 及@Valid注解校驗請求參數


本文為博主原創,轉載請注明出處:

  @NotEmpty,@NotBlank,@NotNull 這些注解所在的jar包路徑在 javax.validation.constraints 的包下面,這個包下面也封裝了其他的注解

 

 

 

 這里列舉一下常用的注解,並做簡單介紹,其余還要在使用的時候慢慢挖掘

//被注釋的元素必須為null
@Null  
//被注釋的元素不能為null
@NotNull  
//被注釋的元素必須為true
@AssertTrue  
//被注釋的元素必須為false
@AssertFalse  
//被注釋的元素必須是一個數字,其值必須大於等於指定的最小值
@Min(value)  
//被注釋的元素必須是一個數字,其值必須小於等於指定的最大值
@Max(value)  
//被注釋的元素必須是一個數字,其值必須大於等於指定的最小值
@DecimalMin(value)  
//被注釋的元素必須是一個數字,其值必須小於等於指定的最大值
@DecimalMax(value)  
//被注釋的元素的大小必須在指定的范圍內。
@Size(max,min) 
//被注釋的元素必須是一個數字,其值必須在可接受的范圍內
@Digits(integer,fraction) 
//被注釋的元素必須是一個過去的日期 
@Past  
//被注釋的元素必須是一個將來的日期
@Future  
//被注釋的元素必須符合指定的正則表達式。
@Pattern(value) 
//被注釋的元素必須是電子郵件地址
@Email 
//被注釋的字符串的大小必須在指定的范圍內
@Length 
//被注釋的字符串必須非空
@NotEmpty  
//被注釋的元素必須在合適的范圍內
@Range  

  這些注解用於加在java的實體類屬性字段上,在進行請求或請求的時候會根據字段的注解進行對應的校驗,簡化校驗相關的代碼。

當校驗不同過時,會返回對應的message描述

  在前端請求解析到 controller 的時候,可使用 @valid 注解,開啟校驗,以下為使用的示例:

   @PostMapping("/get/user/course")
    public UserCourseInfo getUserCourseInfo(@Valid @RequestBody CreateUserRequest request) {

        return userService.getUserCourseInfo(request);
    }
CreateUserRequest 實體類並添加校驗注解
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * <h1>創建用戶請求對象定義</h1>
 * Created by Qinyi.
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CreateUserRequest {

    /** 用戶名 */
    @NotNull(message = "不可為空")
    @Length(min=20,max=30,message = "長度在20到30")
    private String username;

    /** 郵箱 */
    @Email
    @NotBlank
    private String email;

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM