java - 如何在 API 异常消息中换行?
问题描述
这是我的异常处理程序示例
@ExceptionHandler
public ResponseEntity<ApiErrorResponse> handleException(EntityNotFoundException exc) {
ApiErrorResponse error = new ApiErrorResponse();
error.setStatus(HttpStatus.FORBIDDEN.value());
error.setMessage(exc.getMessage());
error.setTimeStamp(System.currentTimeMillis());
return new ResponseEntity<>(error, HttpStatus.NOT_FOUND);
}
这是我抛出的异常
public static void throwExceptionIfBindingResultHasErrors(BindingResult bindingResult) {
List<FieldError> fieldErrorList = bindingResult.getFieldErrors();
var stringBuilder = new StringBuilder();
fieldErrorList
.forEach(fieldError -> stringBuilder.append("Field name: ")
.append(fieldError.getField())
.append(" Rejected Value: ")
.append(fieldError.getRejectedValue())
.append(" Message ")
.append(fieldError.getDefaultMessage())
.append(System.lineSeparator()));
throw new InvalidRequestException(stringBuilder.toString());
}
这是我得到的结果(没有新行,只有 \r\n 符号)
"status": 400,
"message": "Field name: address Rejected Value: toooloooongStriingstoooloooongStriingstoooloooongStriings Message must be between 5 and 60\r\nField name: name Rejected Value: toooloooongStriingstoooloooongStriingstoooloooongStriingstoooloooongStriings Message must be between 5 and 50\r\n",
"timeStamp": 1629117439443
解决方案
推荐阅读
- python - SQLite 从列列表中获取 TOTAL?
- python - 将列表附加到列表时出现意外输出
- python - 如何在 ipdb 中创建条件断点
- java - 如何自动创建类的新实例?
- socrata - Open Payments - 如何协调或解释 API 数据与实时站点可视数据之间的差异
- c++ - C++ 获取运行时间和内存使用情况
- python - 创建一个数据框来详细说明另一个数据框的信息
- node.js - npm install png-img 或 npm install hermione chai 时如何修复错误
- jpa - 如何在 DAO 中为 Primefaces 延迟加载的 DataTable 过滤器实现过滤(包括多选枚举)
- python - 有没有办法更新与我在 gspread api for python 中使用 .find 搜索的单元格相邻的单元格