我使用SimpleMappingExceptionResolver
处理所有spring mvc异常并且到目前为止工作完美。现在随着REST服务的引入,我们开始使用controllerAdvice,即ResponseEntityExceptionHandler
来处理其余异常。
在同一个Web应用程序中,我们有spring MVC和Rest服务,在引入控制器建议,即ResponseEntityExceptionHandler
之后,SimpleMappingExceptionResolver
处理程序不再被调用,只有控制器建议被激活时调用
有没有办法将controllerAdvice,即ResponseEntityExceptionHandler
限制为一些url路径,即以/ rest / *或.rest url模式和所有mvc请求(url模式)开头.htm必须在异常时调用SimpleMappingExceptionResolver
要么
这个问题的任何其他解决方案?
找到解决方案的目标是将控制器建议仅针对restControllers,如下所示
@ControllerAdvice(annotations = {RestController.class})
public class GroupsRestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
...
}