WebApplicationException与响应
在
服务中将响应返回给客户端的所有可能性中,我已经看到了两种看似等效的可能性:抛出一个WebApplicationException
(可能使用一个Response
实例)或返回一个Response
实例。
由于结果相同,为什么要使用一种可能性而不是另一种?这是否与所使用的 框架有关,可以将其配置为在异常和常规响应之间做出不同的反应?
回答:
由于结果相同,为什么要使用一种可能性而不是另一种?
也许因为作为(Java)程序员,您习惯于在应用程序的特定规则被破坏时引发异常?将一些字符串转换为数字,您可能会得到一个NumberFormatException
,在数组中使用错误的索引,然后得到一个ArrayIndexOutOfBoundsException
,访问某些您不允许访问的内容并获得一个SecurityException
etc。您习惯于在“常规响应”可以时抛出异常。无法创建(由于错误的输入或某些处理错误)。
当您无法返回常规响应时,必须向客户端返回错误响应。您可以通过抛出异常或手动构建响应来实现。对于您的客户端来说,这是一回事,但对于服务器端代码而言,则是一回事。
。这个想法是将其子类化,WebApplicationException
并从中创建自己有意义的异常(例如ProductNotFoundException
extends WebApplicationException { ... },AccessDeniedException extends
WebApplicationException { ...
}或者使用异常映射器重用异常)。
以上是 WebApplicationException与响应 的全部内容, 来源链接: utcz.com/qa/423602.html