gpt4 book ai didi

java - 从 Jersey RESTful Web 服务中抛出信息性错误消息

转载 作者:搜寻专家 更新时间:2023-11-01 03:28:48 24 4
gpt4 key购买 nike

我有一个 RESTful Web 服务,它执行一些 IO 和数据库 Activity 以返回结果。

有一些我希望看到的Exceptions,即因为未设置预期变量或我的数据库不再存在等而抛出的异常......

但是,当我抛出这些异常时,它们会被捕获并包装在 HTTP 500(内部服务器错误) 异常中,这就是客户端得到的(与根异常相反)。

我想在这里看到我的异常,而不是必须查看应用程序服务器日志。

最佳答案

你可以实现一个 ExceptionMapper 来返回你想要的任何东西。因此,例如,它可以将带有堆栈跟踪的整个异常放入响应中。

这是您在客户端想要的吗?我不确定。
客户端重建异常并重新抛出它可能是一项非常困难的工作。

此外,它非常不安全,因为堆栈跟踪会将服务器的内部代码暴露给客户端。

我建议您声明一些对客户端有意义并且您想公开的服务器错误代码。示例:

  • 1000 - 连接数据库失败。
  • 2000 - 其他

因此对于特定的异常,在 ExceptionMapper 中你可以将服务器异常映射到错误代码,然后在客户端重新映射它们。

关于java - 从 Jersey RESTful Web 服务中抛出信息性错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6124543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com