@Validated和@Valid三種異常捕獲處理方式
@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è)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot攔截器實(shí)現(xiàn)步驟及測試實(shí)例
這篇文章主要介紹了Spring Boot攔截器實(shí)現(xiàn)步驟及測試實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04@RequestParam?和@RequestBody注解的區(qū)別解析
在 Spring MVC 中,我們可以使用 @RequestParam 和 @RequestBody 來獲取請求參數(shù),但它們在用法和作用上有一些區(qū)別,這篇文章主要介紹了@RequestParam?和@RequestBody注解的區(qū)別,需要的朋友可以參考下2023-06-06Mybatis如何傳入多個(gè)參數(shù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Mybatis如何傳入多個(gè)參數(shù)的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12spring?@value無法取值多個(gè)properties文件的解決
這篇文章主要介紹了spring?@value無法取值多個(gè)properties文件的解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03如何實(shí)現(xiàn)Java的ArrayList經(jīng)典實(shí)體類
ArrayList是Java集合框架中一個(gè)經(jīng)典的實(shí)現(xiàn)類。他比起常用的數(shù)組而言,明顯的優(yōu)點(diǎn)在于,可以隨意的添加和刪除元素而不需考慮數(shù)組的大小。下面跟著小編一起來看下吧2017-02-02Java數(shù)組創(chuàng)建的3種方法6種寫法代碼示例
這篇文章主要給大家介紹了關(guān)于Java數(shù)組創(chuàng)建的3種方法6種寫法,在Java中我們可以使用關(guān)鍵字new來創(chuàng)建一個(gè)數(shù)組,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01