2017-04-26 67 views
0

我的spring引導應用程序像中間人一樣工作。它等待請求,然後格式化該請求併發送到服務器,並將服務器響應返回給請求發送者。但是,當我從服務器得到響應錯誤響應(例如狀態碼爲400錯誤請求)時,我想通過添加從服務器以JSON格式返回的錯誤原因來修改默認彈簧引導JSON異常正文。從服務器Spring引導編輯json異常與來自服務器響應的數據

響應:

Http status: 400 
{ 
    "type": "InvoiceDto", 
    "currency": "EUR", 
    "error_code": "NO_AMOUNT" 
    "error_message": "amount is not set" 
    "invoice_status": "FAILED", 
    "payment_id": "20516324", 
    "order_id": 1209, 
    } 

春天開機回報例外:

{ 
    "timestamp": 1493211638359, 
    "status": 500, 
    "error": "Internal Server Error", 
    "exception": "org.springframework.web.client.HttpClientErrorException", 
    "message": "400 Bad Request", 
    "path": "/sms" 
} 

我想編輯春天的異常場 「消息」 與服務器的返回 「ERROR_MESSAGE」 值。但似乎我甚至無法獲得Response體,因爲Spring Boot會自動拋出默認異常。

回答

0

我的理解是你需要提供你自己的異常映射器。現在使用的是通過自動配置添加的默認ErrorController

正確的方法是定義自己的ResponseEntityExceptionHandler

你可以閱讀有關自定義Exceptionmappers here