文章目录
1. 自定义错误页面
自定义 ErrorController 继承 BasicErrorController
@RestController
public class ErrorController extends BasicErrorController {
public ErrorController() {
super(new DefaultErrorAttributes(), new ErrorProperties());
}
@Override
@RequestMapping(produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<Map<String, Object>> error(HttpServletRequest request) {
// 获取发生的异常
Throwable t = (Throwable) request.getAttribute("javax.servlet.error.exception");
if (null == t) {
// 获取返回状态码 这里可以判断 HttpStatus 是否为 404
HttpStatus httpStatus = getStatus(request);
return new ResponseEntity<>(JsonUtil.toMap(ErrorCode.PAGE_ERROR.of()), httpStatus);
}
return new ResponseEntity<>(JsonUtil.toMap(ErrorCode.SERVER_ERROR.of()), HttpStatus.INTERNAL_SERVER_ERROR);
}
}