我使用Jersey创建REST服务,当我收到NullPointerException或其他类型的RuntimeException时,会向客户端发送403错误。为什么泽西岛发送403而不是500,我该怎么改变呢?
PS:我知道如何创建ExceptionMapper,但将它创建到RuntimeException类似乎很奇怪。我还使用特定的异常扩展WebApplicationException来处理我抛出的异常。
答案 0 :(得分:0)
我无法重现你的问题。调用此资源将返回500:
@GET
@Path("/npe")
public Response triggerNpe() {
String npe = null;
npe.length();
return Response.ok().build();
}
响应:
HTTP Status 500 - Internal Server Error
javax.servlet.ServletException: java.lang.NullPointerException
我正在使用Glassfish 4和标准库。
答案 1 :(得分:0)
这不应该发生。您的错误在某处处理。 看看这些注释: