參考鏈結1
乙個專案總會出現錯誤,而我們需要將其中的某些錯誤用自己的方式去處理 ,這時候就會用到springmvc的全域性異常處理了;當然,還有其他的方式去處理這些異常,這裡就不討論了;
springboot有乙個預設的異常處理,但是自己感覺還沒有達到自己的預想,需要自己對異常進行簡單的處理,於是就有了這篇文章。
注意,我是使用idea直接構建的springboot專案;
以下是全域性異常處理主要用到的兩個註解:
該註解主要用於類上
該註解的主要引數basepackages
:處理某乙個包下面的異常
用於方法上
裡面只有乙個value
引數,這個引數就是需要處理的異常的exceptionname.class
,那麼這個方法就會只處理這個錯誤,其他的錯誤就不會處理;
在專案中新建兩個類
@restcontroller
public
class
testcontroller
}複製**
@controlleradvice
public
class
globalexceptionhandler
}複製**
方法上還可以用其它允許的註解,視個人而定,引數也是可以自己新增,但是需要新增的引數必須是要被允許的;
啟動專案進行以下測試,這裡自己小小的實驗了一把,自己定義乙個請求,裡面會需要乙個test
引數,而且還是get
請求,接下來看用各種請求會出現深結果,然後自己處理後的結果;
get
請求不帶test
引數,我用的postman來傳送的請求,且異常處理類中不寫處理
在postman端請求出現的結果:
複製**
但是為了更直接一點,我們對這個錯誤進一步進行了處理;
在異常處理類中新增以下**:
複製** 這裡處理的錯誤為missingservletrequestparameterexception
,也就是除此之外的錯誤都不會處理
請求結果:
複製**
post請求,帶test引數,異常處理類中不處理;
不處理出現的結果:
複製**
在異常類中新增以下**:
複製**新增**後的請求結果:
複製**
其實以上的測試只是乙個實驗,也許在現實開發**現以上的錯誤一眼就能看出**錯了;但是為了更明顯的說明錯誤,就自己進行了處理;
十分感謝你能看完這篇文章!
全域性異常處理 springBoot 全域性異常處理
先讚後看,月入百萬 springboot開發的web專案中,強調分層的概念,乙個完整的專案一般會劃分出controller層和service層。因此,為了 的可維護性,controller層 應該盡量簡潔,驗證一下引數,直接丟給service層處理即可 異常處理的方式無外乎兩種 在springboo...
springboot全域性異常捕獲
新專案中需要用到檔案上傳,有需要對上傳檔案大小進行限制,當檔案超過限制的時候,springboot框架會直接丟擲異常,不會進入你的方法中,當我們需要向前臺返回資訊的時候也無從返回,只能進行全域性捕獲檔案過大的異常,然後再返回資訊。controlleradvice public class mycon...
SpringBoot全域性異常處理
簡介通常在controller層需要去捕獲service層的異常,防止返回一些不友好的錯誤資訊到客戶端,但如果controller層每個方法都用模組化的try catch 去捕獲異常,會很難看也難維護,所以使用全域性異常比較方便 這方法是springboot封裝好了的,我們直接使用即可,普通的配置我...