当前位置: 首页 > 知识库问答 >
问题:

restygwt-在客户端站点上获取原始服务器错误

谢鸿
2023-03-14

我有一个基于GWT RestyGWT和Spring的应用程序

我正在尝试在客户端站点上进行一些用户友好的异常处理。

我在服务器端有一些抛出异常的方法:

@PostMapping(...)
@Transactional(...)
public long withdraw(@PathVariable(value = "amount) long amount) throws CustomException {
    if (amount < 0) {
        throw new CustomException("Amount is negative");
    }
    account.withdraw(amount);
    return account.balance;
}

它在客户端称为异步,并在那里处理:

... new MethodCallback<...>() {
@Override
public void onFailure(Method method, Throwable throwable) {
    // here should be error handling
}

如何获取原始错误消息和类(“金额为负”和CustomException)?我能从方法和可丢弃的变量中得到的只有:

  • 错误代码=500
  • 响应消息=“内部服务器错误”
  • 可丢弃的是组织。fusesource。restygwt。客户失败响应异常

共有1个答案

施自明
2023-03-14

在RestyGWT中,您无法接收相同的Exception(这可以使用GWT RPC来完成)。但是,您可以在服务器端统一处理异常(在jersey中,您可以使用Spring中的异常映射器称为异常处理程序)并返回已知JSON格式的错误响应。然后您可以使用FailedResseException(这是您现在正在接收的异常)获得此错误响应,此异常包含响应,因此您可以执行MyKnownError响应o=JSON. parse(故障响应xception.get响应(). getText())

 类似资料:
  • 问题内容: 我试图从Web服务而不是通常的POJO集合中获取原始XML响应。 我正在使用从WSDL和某些模式生成的Web服务客户端(因此我可以访问该客户端的代码)。该客户端是在RAD 7.5中生成的,我认为是使用JAX- WS。我一直在研究客户端代码本身,但是我什至不确定客户端代码是否处理过原始XML或是否将其传递给其他库。 问题答案: 您可以使用 您可以使用方法简单地获取消息并将消息转换为Str

  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • 有谁能帮上忙吗? 当我试图安装Opends时,出现以下错误 服务器未启动 警告:无法连接到服务器:javax.naming.CommunicationException:0.0.0.0:4444[根异常为java.net.ConnectException:连接被拒绝:连接]javax.naming.CommunicationException:0.0.0.0:4444[根异常为java.net.C

  • 当我运行Spring Cloud Config Client项目config-client时,我发现了以下错误: 启动ApplicationContext时出错。若要显示自动配置报告,请在启用“debug”的情况下重新运行应用程序。2018-02-09 10:31:10.923错误13933--[main]O.S.Boot.SpringApplication:应用程序启动失败 显然,配置服务器是错

  • 我已经使用java nio创建了一个客户端-服务器应用程序,它工作正常,但我的问题是,当服务器有许多连接到服务器的客户端时,服务器会响应错误的客户端,而不是请求客户端。例如,如果客户端A请求第一个人的信息,服务器将第一个人的信息返回给客户端B而不是客户端A。我已经尝试同步对象,但仍然无法正常工作,可能是什么问题。这是我的服务器示例代码

  • 前面的章节介绍了所有 Redis 的重要功能组件: 数据结构、数据类型、事务、Lua 环境、事件处理、数据库、持久化, 等等, 但是我们还没有对 Redis 服务器本身做任何介绍。 不过, 服务器本身并没有多少需要介绍的新东西, 因为服务器除了维持服务器状态之外, 最重要的就是将前面介绍过的各个功能模块组合起来, 而这些功能模块在前面的章节里已经介绍过了, 所以本章将焦点放在服务器的初始化过程,