二、常用註解
三、@validated和@valid區別
主要用於表單驗證,驗證註解是否符合要求,直接加在controller變數之前,在變數中新增驗證資訊的要求,當不符合要求時就會在方法中返回message 的錯誤提示資訊.
(
"/addft"
)public response addft
(@requestbody
@valid ftinfo ftinfo)
@data
@allargsconstructor
@noargsconstructor
public
class
registeruser
@slf4j
@restcontrolleradvice
public
class
exceptionhandler
", e.
getbindingresult()
.getfielderror()
.getdefaultmessage()
);return response.
error
(resultcode.param_required, e.
getbindingresult()
.getfielderror()
.getdefaultmessage()
);}}
@data
@jsoninclude
(jsoninclude.include.non_null)
public
class
response
/*** 用於錯誤處理
* @param code 錯誤碼
* @param message 錯誤提示資訊
*/public
response
(integer code,string message)
public
static response
error
(integer code,string msg)
}
public
enum resultcode
resultcode
(int code, string message)
public
intgetcode()
public string getmessage()
}
限制
說明@null
限制只能為null
@notnull
限制必須不為null,一般用來校驗integer型別不能為空
@assertfalse
限制必須為false
@asserttrue
限制必須為true
@decimalmax(value)
限制必須為乙個不大於指定值的數字
@decimalmin(value)
限制必須為乙個不小於指定值的數字
@digits(integer,fraction)
限制必須為乙個小數,且整數部分的位數不能超過integer,小數部分的位數不能超過fraction
@future
限制必須是乙個將來的日期
@max(value)
限制必須為乙個不大於指定值的數字
@min(value)
限制必須為乙個不小於指定值的數字
@past
限制必須是乙個過去的日期
@pattern(value)
限制必須符合指定的正規表示式
@size(max,min)
限制字元長度必須在min到max之間
@past
驗證註解的元素值(日期型別)比當前時間早
@notempty
驗證註解的元素值不為null且不為空(字串長度不為0、集合大小不為0),一般用來校驗list型別不能為空
@notblank
驗證註解的元素值不為空(不為null、去除首位空格後長度為0),一般用來校驗string型別不能為空,不同於@notempty,@notblank只應用於字串且在比較時會去除字串的空格
驗證註解的元素值是email,也可以通過正規表示式和flag指定自定義的email格式
@validated:
(1)可以用在型別、方法和方法引數上,但是不能用在成員屬性(字段)上。
(2)提供了乙個分組功能,可以在入參驗證時,根據不同的分組採用不同的驗證機制
(3)用在方法入參上無法單獨提供巢狀驗證功能。不能用在成員屬性(字段)上,也無法提示框架進行巢狀驗證。能配合巢狀驗證註解@valid進行巢狀驗證。
@valid:
(1)可以用在方法、建構函式、方法引數和成員屬性(字段)上
(2)用在方法入參上無法單獨提供巢狀驗證功能。能夠用在成員屬性(字段)上,提示驗證框架進行巢狀驗證。能配合巢狀驗證註解@valid進行巢狀驗證。
Spring常用註解及使用方法
用於建立物件的 component 元件式註解,通常放在model類.repository 通常放在dao層的實現類上.service 通常放在service的實現類上 controller 通常放在controller類 ps 上述四個註解的作用一樣,只不過是在不同的層面使用不同的註解,以示區分....
Valid註解的使用
在實體類上打上註解 data public class user2.在controller上加上註解 valid,進行引數校驗 public string testuser requestbody valid user user,bindingresult bindingresult return ...
Valid註解與使用
valid用於檢驗變數的值是否符合設定好的規則。可以簡化校驗,減少if else的 量 通常與 requestbody一起使用,接收傳入的json並對json轉換到pojo的值進行檢驗 requestbody valid 或者 valid requestbody都可以 然後在方法中常常使用bindi...