2017-05-02 76 views
1

我有以下方法:的ExceptionHandler調用,但不會影響HTTP響應

@ExceptionHandler(InvalidPriceUpdateException.class) 
    @ResponseStatus(HttpStatus.BAD_REQUEST) 
    public String handleInvalidPriceUpdateException(InvalidPriceUpdateException e) throws JsonProcessingException { 
     return objectMapper.writeValueAsString(new HttpErrorDTO(e.getMessage())); 
    } 

我看到(在調試),它調用,但在瀏覽器中我看到500錯誤(而不是HttpStatus.BAD_REQUEST)。並且http響應的內容包含異常信息(而不是HttpErrorDTO結構)。

什麼錯在我的代碼?

回答

1

這是因爲你是返回一個String,在那裏你確實應該建立整個ResponseEntity。請閱讀here瞭解具體內容以及如何構建一個示例。