50.3. JAX-RS 2.0 Exception 类型


概述

JAX-RS 2.0 引入了多个特定的 HTTP 例外类型,您可以在应用程序代码中抛出(除现有的 WebApplicationException 异常类型外)。这些异常类型可用于嵌套标准 HTTP 状态代码,包括 HTTP 4xx 状态代码(HTTP 4xx 状态代码)或 HTTP 服务器错误(HTTP 5xx 状态代码)。

例外层次结构

图 50.1 “JAX-RS 2.0 应用异常层次结构” 显示 JAX-RS 2.0 支持的应用级别例外的层次结构。

图 50.1. JAX-RS 2.0 应用异常层次结构

例外 01

WebApplicationException 类

javax.ws.rs.WebApplicationException 异常类(自 JAX-RS 1.x 开始可用)位于 JAX-RS 2.0 层次结构的基础,在 第 50.2 节 “使用 WebApplicationException 例外报告” 中详细介绍。

ClientErrorException 类

javax.ws.rs.ClientErrorException 异常类用于封装 HTTP 客户端错误(HTTP 4xx 状态代码)。在应用程序代码中,您可以抛出此异常或其子类之一。

ServerErrorException 类

javax.ws.rs.ServerErrorException 异常类用于封装 HTTP 服务器错误(HTTP 5xx 状态代码)。在应用程序代码中,您可以抛出此异常或其子类之一。

RedirectionException 类

javax.ws.rs.RedirectionException 异常类用于封装 HTTP 请求重定向(HTTP 3xx 状态代码)。这个类的构造器使用一个 URI 参数,它指定重定向位置。重定向 URI 可以通过 getLocation() 方法访问。通常,HTTP 重定向在客户端是透明的。

客户端异常子类

您可以在 JAX-RS 2.0 应用程序中引发以下 HTTP 客户端异常(HTTP 4xx 状态代码):

BadRequestException
封装 400 Bad Request HTTP 错误状态。
ForbiddenException
封装 403 Forbidden HTTP 错误状态。
NotAcceptableException
封装 406 Not Acceptable HTTP 错误状态。
NotAllowedException
封装 405 方法 Not Allowed HTTP 错误状态。
NotAuthorizedException

封装 401 Unauthorized HTTP 错误状态。在以下情况下可能会引发这个异常:

  • 客户端没有发送所需的凭证(在 HTTP Authorization 标头中),或者
  • 客户端显示凭据,但凭据无效。
NotFoundException
封装 404 Not Found HTTP 错误状态。
NotSupportedException
封装 415 Unsupported Media Type HTTP 错误状态。

服务器异常子类

您可以在 JAX-RS 2.0 应用程序中引发以下 HTTP 服务器例外(HTTP 5xx 状态代码):

InternalServerErrorException
封装 500 Internal Server Error HTTP 错误状态。
ServiceUnavailableException
封装 503 Service Unavailable HTTP 错误状态。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.