我在Spring Boot Web应用程序上的错误处理存在问题。我已经在web.xml中配置了错误处理,如下所示:
<error-page>
<location>/errorOccurred</location>
</error-page>
当在配置了RequestMethod.GET或RequestMethod.POST的任何端点中引发异常时,一切都进行顺利,我们被重定向到相应的端点,该端点在我的ExceptionController中为/ errorOccured。但是,当我们遇到某种情况,在端点上为RequestMethod.PUT抛出任何异常时,我的错误处理将不起作用。我在PUT和GET类型的几个端点上进行了测试,这看起来是一个全球性的问题。我的示例控制器(PUT)在下面抛出异常:
@PreAuthorize(SOME_ROLE)
@PutMapping("/do/putSomething")
@ResponseBody
public Result putEntity(Entity entity, BindingResult entityResult, HttpServletRequest request) {
if (someChecks(entity)) {
throw new MyException("message blabla");
}
.
.
.
}