如何映射gwt resty的异常

如何映射gwt resty的异常,gwt,jersey,Gwt,Jersey,我目前正在服务器端使用gwt resty和jersey。我遇到的问题是如何映射MethodCallback实现的异常。我已经创建了一个ExceptionMapper,它将异常转换为json并以json格式返回,但是onFailure方法为我的异常提供了一条通用错误消息“Failed BAD Request” 问题是如何将异常转换为gwt resty可以处理的异常,以便从服务器端异常获取消息 这是我的服务实现 service.getCurrentAddress("123456", new

我目前正在服务器端使用gwt resty和jersey。我遇到的问题是如何映射MethodCallback实现的异常。我已经创建了一个ExceptionMapper,它将异常转换为json并以json格式返回,但是onFailure方法为我的异常提供了一条通用错误消息“Failed BAD Request”

问题是如何将异常转换为gwt resty可以处理的异常,以便从服务器端异常获取消息

这是我的服务实现

    service.getCurrentAddress("123456", new MethodCallback<Address>() {

        @Override
        public void onSuccess(Method method, Address response) {
            Window.alert("Got your address" + response);
        }

        @Override
        public void onFailure(Method method, Throwable e) {
            GWT.log("failed", e);
            GWT.log("Failed " + e.getMessage());
        }
    });
}
service.getCurrentAddress(“123456”,新方法回调(){
@凌驾
成功时公共无效(方法、地址响应){
Window.alert(“获得您的地址”+响应);
}
@凌驾
失效时公共失效(方法,可丢弃e){
GWT.log(“失败”,e);
log(“Failed”+e.getMessage());
}
});
}
这是我的异常映射器

@Provider
public class VendorExceptionMapper implements ExceptionMapper<Exception> {

    @Override
    public Response toResponse(Exception exception) {
        return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(exception).build();
    }

}
@Provider
公共类VendorExceptionMapper实现ExceptionMapper{
@凌驾
公众响应(例外){
返回Response.status(Response.status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(exception.build();
}
}

我不确定我是否理解了您的问题,但我认为您可以解析Throwable e以在失败时获得异常


您还可以通过编写restyGWT调度程序来拦截异常,并在输入onFailure()之前对其进行处理

嗨。我还试图从Throwable解析我的特定异常,但我不确定如何解析。有什么例子吗?我已经问过这个问题了。请使用instanceof尝试将其转换为WebApplicationException或您创建的任何执行