【发布时间】:2016-09-09 05:28:05
【问题描述】:
我编写了一个简单的自定义 ExceptionMapper,以便在出现未捕获的异常时提供良好的响应:
@Provider
public class CustomExceptionMapper implements ExceptionMapper<Throwable> {
@Override
public Response toResponse(Throwable t) {
if (t instanceof WebApplicationException) {
WebApplicationException webEx = (WebApplicationException)t;
return webEx.getResponse();
} else {
return ResponseHelper.INTERNAL_SERVER_ERROR;
}
}
}
这是完美的工作,所有异常(404、415,...)都在这里捕获,除了 401。我的 REST 客户端也没有响应代码,只有纯文本响应:Authentication Failed。
我的意图是返回正确的响应并删除以某种方式发送的WWW-Authenticate。有人出主意吗?
【问题讨论】:
-
显示抛出带有
401状态码的异常的代码。 -
@CássioMazzochiMolin 没有代码。这是安全机制的标准行为。我刚刚在我的 web.xml 中定义了受限路径