在我的應用程序中,我有一個擴展了Exception的ApplicationException
類。對於很多錯誤情況,我用一個預定義的消息提出這個ApplicationException
。我也有一個錯誤處理程序類,它擴展了HttpErrorHandler
。在那裏,在onServerError()
方法中,我檢查是否引發異常是ApplciationException
。如果是這樣,我將返回錯誤消息作爲JSON字符串。否則,我返回一個通用的錯誤消息。在使用@Security時引發的RuntimeException異常
一切按預期工作,直到我將@Security
註釋添加到我的控制器方法。從那時起,所有的例外都被提升到java.lang.RuntimeException
。
舉個例子,下面是被拋出:
- with @Security annotation: java.lang.RuntimeException: com.mypackage.ApplicationException: Invalid value supplied for entered parameter 'sort'
- without @Security annotation: com.mypackage.ApplicationException: Invalid value supplied for entered parameter 'sort'
我的鑑定者類(擴展Security.Authenticator
一)只覆蓋了getUsername()
和onUnauthorized()
方法。
有沒有辦法在保留ApplicationException
的同時仍然使用@Security
?
感謝
我明白了。我應該查看安全類的來源。可悲的是,你看起來是對的,唯一的方法就是重寫派生類中的call()方法。 –