使用两个@ControllerAdvice处理默认的HTTP异常

时间:2018-11-25 14:24:43

标签: spring rest exception exception-handling

我有一个同时具有jsps / controllers和api rest-controllers的SpringMvc Webapp,我用这种配置处理异常:

  • 一个ControllerAdvice是依赖项(jar)中的GlobalExceptionHandler
  • 一个ControllerAdvice(packages="com.example.app.api"),它是自定义的ResponseEntityExceptionHandler
  • 所有RestControllers都在api包中

对于使用自定义RestControllerResponseEntityExceptionHandler方法内部调用的服务抛出的特定异常,我没有任何问题。

但是自定义HttpMediaTypeNotAcceptableException, HttpMediaTypeNotSupportedException中并未处理诸如ResponseEntityExceptionHandler之类的默认异常,即使我重写了它们的相应方法也是如此。相反,是我的GlobalExceptionHandlerExceptionHandler("exception")方法捕获它们

所以我的问题是:如何处理与我的其余api有关的所有异常,包括带有自定义HttpMediaTypeNotAcceptableException的{​​{1}}?知道我无法触摸导入的依赖项中定义的ResponseEntityExceptionHandler

0 个答案:

没有答案