javax.ws.rs.core.Response.ResponseBuilder.entity返回500

javax.ws.rs.core.Response.ResponseBuilder.entity返回500,java,web-services,exception,jersey,Java,Web Services,Exception,Jersey,我正在使用ResponseBuilder为Jersey webservice方法生成响应 这样叫: try { //... } catch (Exception ex) { Response.serverError().entity(ex).build(); //... } webservice方法应该返回MediaType.APPLICATION_JSON,但是,它返回一个显示500:Internal Server Error的HTML页面 当对任何数据类型的变量使

我正在使用ResponseBuilder为Jersey webservice方法生成响应

这样叫:

try {
    //...
}
catch (Exception ex) {
    Response.serverError().entity(ex).build();
    //...
}
webservice方法应该返回MediaType.APPLICATION_JSON,但是,它返回一个显示500:Internal Server Error的HTML页面

当对任何数据类型的变量使用Response.ok(variable)时(继承自类Exception的数据类型除外),只要返回正确的JSON,一切都会顺利进行


当我将“ex”作为参数传递给方法“entity”时发生了什么?

我猜它不知道如何创建JSON错误页面。如果需要,可能必须显式地创建异常的一些JSON可序列化描述,并将其用作实体。也许这可以实现并作为转换器插入。