Java 弹簧靴:未达到RestControllerAdvise
我构建了一个Java 弹簧靴:未达到RestControllerAdvise,java,spring-boot,Java,Spring Boot,我构建了一个RestControlerAdvise: @RestControllerAdvice @Order(Ordered.HIGHEST_PRECEDENCE) public class ExceptionControllerAdvice { @ExceptionHandler({DocumentAlreadyExistsException.class}) @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) publ
RestControlerAdvise
:
@RestControllerAdvice
@Order(Ordered.HIGHEST_PRECEDENCE)
public class ExceptionControllerAdvice {
@ExceptionHandler({DocumentAlreadyExistsException.class})
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public cat.gencat.ctti.canigo.arch.web.rs.model.Error handleException(DocumentAlreadyExistsException e) {
cat.gencat.ctti.canigo.arch.web.rs.model.Error error = new cat.gencat.ctti.canigo.arch.web.rs.model.Error();
error.setCode(HttpStatus.BAD_REQUEST.value());
error.setMessage(e.getMessage());
return error;
}
}
然而,即使我提出了一个documentReadyExistException
,它也从未到达
在启动时检测到:
2018-08-20 17:08:25.791信息4941---[main].m.a.ExceptionHandlerExceptionResolver:在exceptionControllerAdvice中检测到@ExceptionHandler方法
有什么想法吗?我在我的应用程序中运行了相同的代码,它工作正常,也请注意 @控制器上的ExceptionHandler方法始终在 任何@ControllerAdvice实例上的。没有定义什么顺序 控制员的通知被处理 有关更多信息,请参阅以下链接:
我在我的应用程序中运行了相同的代码,它工作正常,也请注意 @控制器上的ExceptionHandler方法始终在 任何@ControllerAdvice实例上的。没有定义什么顺序 控制员的通知被处理 有关更多信息,请参阅以下链接:
您可能正在处理DocumentAlreadyExistException,而不是将其扔给spring来处理。您可能正在处理DocumentAlreadyExistException,而不是将其扔给spring来处理。我没有足够的声誉来评论(将其视为评论)。您可以发布@Controller类的片段吗?您可能正在处理DocumentReadyExistException,而不是将其抛出给spring来处理?我无法重现此错误。我在我的项目中测试了它,并执行了这段代码。你在代码的某个地方找到了它吗?例如,使用
try{…}catch(异常e){…}
?如@jay所述,请显示一个或多个抛出DocumentReadyExistsException的控制器方法。注意,您说您提出了DocumentReadyExistException,但建议是寻找DocumentReadyExistsException。我没有足够的声誉来评论(将其视为评论)。您可以发布@Controller类的片段吗?您可能正在处理DocumentReadyExistException,而不是将其抛出给spring来处理?我无法重现此错误。我在我的项目中测试了它,并执行了这段代码。你在代码的某个地方找到了它吗?例如,使用try{…}catch(异常e){…}
?如@jay所述,请显示一个或多个抛出DocumentReadyExistsException的控制器方法。注意,您说您提出DocumentReadyExistException,但建议是查找DocumentReadyExistsException。管理员删除了我以前接受的答案。管理员删除了我以前接受的答案。
@RestControllerAdvice
@Order(Ordered.HIGHEST_PRECEDENCE)
public class CustomExceptionHandler {
@ExceptionHandler(value={Exception.class})
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public final ErrorMessage exceptionHandler(Exception e)
{
ErrorMessage msg=new ErrorMessage();
msg.setError("its an error");
return msg;
}