ExceptionHandler 调用但不影响 http 响应
ExceptionHandler invokes but doesn't affect http response
我有以下方法:
@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
结构)。
我的代码有什么问题?
这是因为您要返回一个 String
,您实际上应该在其中构建整个 ResponseEntity
。阅读 here 了解这意味着什么以及如何构建一个示例。
我有以下方法:
@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
结构)。
我的代码有什么问题?
这是因为您要返回一个 String
,您实际上应该在其中构建整个 ResponseEntity
。阅读 here 了解这意味着什么以及如何构建一个示例。