[英]Catch json processing exception with dropwizard?
我有一個注冊了全局異常處理程序的dropwizard應用程序,該處理程序實現ExceptionMapper<Throwable>
。 如果我從資源中拋出任何運行時異常,則映射器將被命中。
但是,在測試中,我將JSON發送到具有傑克遜多態類型缺少類型鑒別符的資源。 澤西返回400,我可以看到JsonProcessingException
步執行代碼時拋出了JsonProcessingException
,但是全局映射器並未受到攻擊。
我試圖通過檢查environment.jersey().getResourceConfig().getSingletons()
設置來查看是否注冊了其他異常映射器,並嘗試注銷它們,並且沒有注冊其他異常映射器。
我也嘗試為該異常但沒有骰子創建一個特定的處理程序。 即使那時我已經有了一個全局處理程序來捕獲所有Throwable,這還是很奇怪的。
有人遇到過這個嗎?
-
編輯:
看起來dropwizard異常映射器確實已注冊,我不知何故需要找出發生在生命周期中的時間並將其取消注冊
是的,您確實需要重寫JsonProcessingException
( JsonProcessingExceptionMapper
)的異常映射器。
看起來dropwizard異常映射器確實已注冊,我不知何故需要找出發生在生命周期中的時間並將其取消注冊
您可以在此答案中找到如何覆蓋ExceptionMapper。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.