簡體   English   中英

用dropwizard捕獲json處理異常?

[英]Catch json processing exception with dropwizard?

我有一個注冊了全局異常處理程序的dropwizard應用程序,該處理程序實現ExceptionMapper<Throwable> 如果我從資源中拋出任何運行時異常,則映射器將被命中。

但是,在測試中,我將JSON發送到具有傑克遜多態類型缺少類型鑒別符的資源。 澤西返回400,我可以看到JsonProcessingException步執行代碼時拋出了JsonProcessingException ,但是全局映射器並未受到攻擊。

我試圖通過檢查environment.jersey().getResourceConfig().getSingletons()設置來查看是否注冊了其他異常映射器,並嘗試注銷它們,並且沒有注冊其他異常映射器。

我也嘗試為該異常但沒有骰子創建一個特定的處理程序。 即使那時我已經有了一個全局處理程序來捕獲所有Throwable,這還是很奇怪的。

有人遇到過這個嗎?

-

編輯:

看起來dropwizard異常映射器確實已注冊,我不知何故需要找出發生在生命周期中的時間並將其取消注冊

是的,您確實需要重寫JsonProcessingExceptionJsonProcessingExceptionMapper )的異常映射器。

看起來dropwizard異常映射器確實已注冊,我不知何故需要找出發生在生命周期中的時間並將其取消注冊

您可以在此答案中找到如何覆蓋ExceptionMapper。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM