沒想到你是這樣的MethodArgumentNotValidException

事情要從校驗入參屬性提及,若是入參有幾十個須要校驗非空,若是寫一堆的ifelse豈不難受,這時候咱們就能夠借鑑hibernate-validatorhibernate-validator框架來校驗參數的非空性。web

首先咱們添加以下依賴:spring

<!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->
<dependency>
   <groupId>org.hibernate.validator</groupId>
   <artifactId>hibernate-validator</artifactId>
   <version>6.0.2.Final</version>
</dependency>

接下來咱們給入參的bean添加非空判斷的註解:app

而後在在方法參數接收vo上加上@Valid框架

來 咱們測試下呢:測試

不對 ,咱們還得寫一個全局的異常處理控制:.net

大概是這樣子的:hibernate

好 測試下:blog

emmmmm 爲何 明明是MethodArgumentNotValidException,結果卻走錯屋了,what happend?get

週五下午搞了一個多小時 仍是沒解決 讓同事看了 也沒搞好,放棄吧。。。。it

結果這週一來了 沒要十分鐘,問題找着了,像個六百斤的大胖子那麼開森 

定睛一看 發現不是一個包下的 趕忙換成

import org.springframework.web.bind.MethodArgumentNotValidException;

好了 問題解決了 ,至於爲何,你說呢?

相關文章
相關標籤/搜索