spring boot 自定義Validator註解
spring boot在Post接受一個對象參數的時候可以使用@Valid去驗證,如下代碼
在創建一個User類
上面的@NotBlank和@Past就做了一個判斷,如何做類似的註解用來驗證數據
創建一個MyConstraint的接口
@Retention :用來說明該註解類的生命周期。它有以下三個參數:
RetentionPolicy.SOURCE : 註解只保留在源文件中
RetentionPolicy.CLASS : 註解保留在class文件中,在加載到JVM虛擬機時丟棄
RetentionPolicy.RUNTIME : 註解保留在程序運行期間,此時可以通過反射獲得定義在某個類上的所有註解。
@Target : 用來說明該註解可以被聲明在那些元素之前。
ElementType.TYPE:說明該註解只能被聲明在一個類前。
ElementType.FIELD:說明該註解只能被聲明在一個類的字段前。
ElementType.METHOD:說明該註解只能被聲明在一個類的方法前。
ElementType.PARAMETER:說明該註解只能被聲明在一個方法參數前。
ElementType.CONSTRUCTOR:說明該註解只能聲明在一個類的構造方法前。
ElementType.LOCAL_VARIABLE:說明該註解只能聲明在一個局部變量前。
ElementType.ANNOTATION_TYPE:說明該註解只能聲明在一個註解類型前。
ElementType.PACKAGE:說明該註解只能聲明在一個包名前。
@Constraint來限定自定義註解的方法
這裏寫的類是下面自定義的類
接口裏面的方法是其他註解上都有這些方法,列如@Past
https://www.phpsong.com/3567.html
spring boot 自定義Validator註解