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