聚合服務的接口,我們做了限流,做了鑑權,但是這個接口發生異常怎麼辦?
zuul我們做了全局的異常攔截,但是這個異常並不會針對我們自己定義的接口來做,我們需要自己定義一個全局的異常攔截,來處理這些自己寫的接口。
首先我們需要自己定義一個公共的異常類,繼承運行時異常,這個網上有很多資料可以參考,這些寫一個。
公共異常類
接着,我們此時需要針對controller的異常攔截,主要還是採用@RestControllerAdvice這個註解來做,在這個統一異常攔截中,我們還編寫針對自定義的接口中,入參對象的攔截,後面可以研究一下hibernate valid的入參校驗,自己寫了之後,不符合規則也會幫你一起攔截了。
接下來,我們來改造自定義的controller接口,不調用後端接口了,直接跑出異常進行測試
全局異常接口測試:
我們可以看到,直接拋出了我們自定義的接口信息。