0

据我所知,在休息服务中处理异常并将错误消息返回给客户端的最流行的设计是捕获 WebApplicationException 或 MappableContainerException。但是他们正在扩展 RuntimeExceprion (我不明白为什么)。据我所知,我们应该避免处理 RuntimeExceptions。

我需要处理诸如“具有该名称的实体已经存在”之类的异常。我确定这不是运行时异常。

还有其他方法吗?我现在正在研究包装器。可能你能解释我解决我的问题的最佳方法吗?

4

1 回答 1

0

我处理这个问题的方法是拥有自己的异常层次结构,并构建一个单独的 ExceptionMapper 来处理这个层次结构。这允许我以标准化的方式传回我需要的任何信息(在我的情况下是 JSON 格式的响应)。

我仍然会有一个用于 WebApplicationException 的 ExceptionMapper,否则最终用户可能会收到一些看起来很讨厌的响应。而且,如果您想更加安全,那么您还可以将一个用于 Exception 以获取您可能错过的任何其他内容(异常会转到最具体的异常映射器,因此将一个用于 Exception 不会影响他们)。

于 2013-01-30T21:06:32.713 回答