如何解决我正在尝试为Rest API
我正在尝试使用以下结构自定义错误格式,但无法设置错误和httpCodeMessage
来自发件人的错误:
[
{
"headers": {},"body": {
"timestamp": "2020-08-17T10:22:14.538+0000","error": null,"message": "User Not Found in the system","path": "/claims/search/","httpCodeMessage": null
},"statusCode": "BAD_REQUEST","statusCodeValue": 400
}
]
@ExceptionHandler(ValidationException.class)
public ResponseEntity<ErrorResponse[]> process(ValidationException ex,HttpServletRequest req) {
return new ResponseEntity(Arrays.asList(generateErrorResponse(ex,req)),HttpStatus.BAD_REQUEST);
}
private Object generateErrorResponse(ValidationException ex,HttpServletRequest req) {
ErrorResponse error = new ErrorResponse();
if (ex.getMessage().equalsIgnoreCase("Resource Not Found")) {
error.setTimestamp(new Date());
error.setMessage(NOT_FOUND.value(),ex.getMessage());
error.setPath(req.getRequestURI().toString());
error.setError(ResponseEntity.status(NOT_FOUND));
return ResponseEntity.status(NOT_FOUND).body(error);
}
}
任何人都可以建议如何获取错误和httpCodeMessage值。是否可以删除statusCode和statusCodeValue属性。
解决方法
通常您必须转到原始的HttpClientErrorException
和getRawStatusCode()
以获得HTTP错误代码
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。