我有一个同时具有jsps / controllers和api rest-controllers的SpringMvc Webapp,我用这种配置处理异常:
ControllerAdvice
是依赖项(jar)中的GlobalExceptionHandler
ControllerAdvice(packages="com.example.app.api")
,它是自定义的ResponseEntityExceptionHandler 对于使用自定义RestController
在ResponseEntityExceptionHandler
方法内部调用的服务抛出的特定异常,我没有任何问题。
但是自定义HttpMediaTypeNotAcceptableException, HttpMediaTypeNotSupportedException
中并未处理诸如ResponseEntityExceptionHandler
之类的默认异常,即使我重写了它们的相应方法也是如此。相反,是我的GlobalExceptionHandler
用ExceptionHandler("exception")
方法捕获它们
所以我的问题是:如何处理与我的其余api有关的所有异常,包括带有自定义HttpMediaTypeNotAcceptableException
的{{1}}?知道我无法触摸导入的依赖项中定义的ResponseEntityExceptionHandler
。