最常用的处理休息服务中的异常并将错误消息返回给客户端的消息 - 正如我所理解的 - 是捕获WebApplicationException或MappableContainerException。但他们正在扩展RuntimeExceprion(我不明白为什么)。据我所知,我们应该避免处理RuntimeExceptions。
我需要处理“具有此类名称的实体已经存在”的例外情况。我确定它不是运行时异常。
还有其他方法吗?我正在研究Wrappers。也许你可以解释我解决问题的最佳方法吗?
答案 0 :(得分:0)
我处理这个问题的方法是拥有自己的异常层次结构,并构建一个单独的ExceptionMapper来处理这个层次结构。这允许我以标准化的方式传回我需要的任何信息(在我的情况下是JSON格式的响应)。
我仍然会有一个针对WebApplicationException的ExceptionMapper,否则最终用户可能会收到一些讨厌的回复。如果你想要更加安全,那么你也可以把一个用于Exception,以获取你可能错过的任何其他内容(异常转到最具体的异常映射器,因此将一个放入Exception不会影响它们)。