如果toResponse返回null,为什么ExceptionMapper for Exception会返回204

时间:2018-09-25 15:26:37

标签: resteasy

使用Thorntail版本2.2.0.Final和RESTEasy版本3.0.24.Final,我们尝试创建一个通用ExceptionMapper,它将为所有未处理的异常(即{{1}的任何实例)返回500 },例如ExceptionNullPointerException

我们设法做到这一点相当容易,但遇到了一个真正有问题的问题;通过为ArrayOutOfBoundsExecption创建一个ExceptionMapper,在处理Exception和RESTEasy WebApplicationException时也会调用它。

由于在我们的情况下,这两种类型的Exception的默认行为是正确的,所以我们认为只需在Failure中不返回任何Response(即null)方法,代码将以默认行为继续处理这些问题。

但是,当我们进行测试时,预期响应为401(NotAuthorizedException)时得到了204。

我看了看代码,handleException method似乎按照我们认为的方式工作;但是,在查看executeExceptionMapper method时,我们对发生的行为感到困惑,因为如果toResponse方法返回toResponse,则返回204,而executeExactExceptionMapper method则不起作用,它只是让异常滚动到下一个处理程序;为什么有区别?

0 个答案:

没有答案