我正在设置一个方法处理异常,如果它是一个 ajax 请求,我想返回对象。如果不是,我想在我的 Spring Boot Web 应用程序中返回视图。它成功返回视图,但是当它返回对象时,响应是一个关于抛出异常的堆栈。
@ControllerAdvice
public class GenericExceptionHandler {
@ExceptionHandler(value = Exception.class)
@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
protected Object handleConflict(RuntimeException ex, WebRequest request) {
if (isAjaxRequest(request)) {
AjaxResult aResult = new AjaxResult();
aResult.setStatus(Status.ERROR);
aResult.setMessage(NoticeMessages.ERROR);
return aResult;
}
return "503";
}
private boolean isAjaxRequest(WebRequest request) {
return "XMLHttpRequest".equals(request.getHeader("X-Requested-With"));
}
}