@Validated和@Valid異常捕獲
異常共三種
-
BindException
:表單提交有效,對于以json格式提交將會(huì)失效 -
MethodArgumentNotValidException
:前段以json格式有效 -
ConstraintViolationException
:參數(shù)上加@RequestParam或參數(shù)加@NotBlank @NotNull等
@Valid和@Validated區(qū)別
-
@Valid
是使用Hibernate validation的時(shí)候使用 -
@Validated
是只用Spring Validator校驗(yàn)機(jī)制使用
說明:java的JSR303聲明了@Valid這類接口,而Hibernate-validator對其進(jìn)行了實(shí)現(xiàn)
@Validation對@Valid進(jìn)行了二次封裝,在使用上并沒有區(qū)別,但在分組、注解位置、嵌套驗(yàn)證等功能上有所不同,這里主要就這幾種情況進(jìn)行說明。
注解位置
-
@Validated
:用在類型、方法和方法參數(shù)上。但不能用于成員屬性(field) -
@Valid
:可以用在方法、構(gòu)造函數(shù)、方法參數(shù)和成員屬性(field)上
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/weixin_44910404/article/details/119343713