【问题标题】:How to map exception for gwt-resty如何为 gwt-resty 映射异常
【发布时间】:2014-02-04 05:06:38
【问题描述】:

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

问题是如何将异常转换为 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());
        }
    });
}

这是我的异常映射器。

@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();
    }

}

【问题讨论】:

    标签: gwt jersey


    【解决方案1】:

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

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

    【讨论】:

    • 嗨。我也在尝试从 Throwable 解析我的特定异常,但我不确定如何。有什么例子吗?我已经问过这个问题了,stackoverflow.com/questions/24367278/…。谢谢
    • 使用 instanceof 尝试将其转换为 WebApplicationException 或您创建的任何执行
    猜你喜欢
    • 2016-03-05
    • 2017-07-08
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 1970-01-01
    相关资源
    最近更新 更多