JaxRS(Jersey)上下文中WebApplicationException和WebServiceException之间的java差异
我正在创建一个Jersey web服务,我发现自己使用了上述两种异常类型。WebServiceException的构造函数允许您传递字符串作为WebApplicationException允许传入HTTP状态代码的原因。包括构造函数的差异,拥有这两种异常类型的目的是什么
谢谢
你可以在下面搜索框中键入要查询的问题!
我正在创建一个Jersey web服务,我发现自己使用了上述两种异常类型。WebServiceException的构造函数允许您传递字符串作为WebApplicationException允许传入HTTP状态代码的原因。包括构造函数的差异,拥有这两种异常类型的目的是什么
谢谢
# 1 楼答案
WebApplicationException是一种停止执行REST资源并向客户端发送一些有意义信息的方法。对于我一直在做的事情,我将这个异常子类化,这样它就有了一个生成JSON作为错误消息发送给客户端的实现。如果出现错误情况,假设缺少文件,我可能会执行以下操作:
在客户机上,这将产生如下结果:
http://download.oracle.com/javaee/6/api/javax/ws/rs/WebApplicationException.html'
WebServiceException是Jersey的根运行时异常,也就是说,它最常见的结果是资源崩溃并导致HTTP 500
http://download.oracle.com/javaee/5/api/javax/xml/ws/WebServiceException.html
所以简单的回答是,第一个例外是你可能抛出的,另一个例外是你希望永远不会抛出的P
例如:
然后从代码中的任何位置停止执行并将错误信息发送给客户端,请执行以下操作: