在 REST API 中实现错误处理程序

使用 REST API Description 视图在 REST API 中实现错误处理程序。

准备工作

您必须在 REST API Description中创建 REST API ,请参阅 创建 REST API

关于此任务

有三种类型的错误处理程序适用于 REST API:
捕获
如果处理子流中对操作的请求时抛出了异常,并且该子流未处理该异常,那么会将一条消息路由到 Catch 错误处理程序。 例如,如果操作的子流中的 JavaCompute 节点抛出异常,并且 TryCatch 节点未捕获到该异常,那么会将该异常传递到 Catch 错误处理程序。
Timeout
如果操作的子流正在处理消息,并且该子流未在期望的时间限制内对客户机作出响应,那么会将一条消息路由到“超时”错误处理程序。 然后,可以使用超时错误处理程序将响应传递回客户机,以通知客户机该操作已超时。 如果发生这种情况,那么操作的子流将继续处理该消息。 不会取消对该消息的处理。 但是,无法发送对客户机的响应。
注: 根据客户机的不同,客户机可能会超时而不接收来自调用操作的响应,在这种情况下,不会接收到发送的任何响应。
失败
如果处理来自客户机的请求时发生错误,并且该错误未由“捕获”或“超时”错误处理程序处理,那么会将一条消息路由到“故障”错误处理程序。

REST API 中的错误处理程序以子流形式实现。 您必须使用 IBM App Connect Enterprise 工具包 ,为每个错误处理程序创建一个空子流程。 然后,您可以通过在子流程中添加 IBM App Connect Enterprise 中提供的任何标准消息流节点来实现错误处理程序。

如果您未实现错误处理程序,那么将使用缺省的错误处理行为。 如果未实现 "捕获" 错误处理程序或 "故障" 错误处理程序,那么会使用以下命令将异常抛出回客户机:HTTP 500 Internal Server Error状态码。 如果未实现超时错误处理程序,那么将使用以下命令将超时异常抛出回客户机:HTTP 504 Gateway Timeout状态码。

过程

要在 REST API 中实现错误处理程序,请完成下列步骤:

  1. 打开要为其实现错误处理程序的 REST API 的 REST API Description
    REST API Description 位于 REST API 项目下的 "应用程序开发" 视图 中。
  2. REST API Description中找到错误处理程序。
    错误处理程序在“错误处理”标题下列出。

根据您是使用了 Swagger 文档还是 OpenAPI3 文档创建 REST API,完成以下其中一个步骤。

  1. 可选: 如果使用 Swagger 文档创建了 RESTAPI ,请单击 实现 <error_handler_type> 错误处理程序链接,其中 <error_handler_type> 是错误处理程序类型。
    这将自动创建新子流并将其打开。 REST API Description 上的链接将更改为 Open the <error_handler_type> 错误处理程序,如果单击该链接,那么现有子流将重新打开。
  2. 可选: 如果已使用 OpenAPI 3.0 文档创建 REST API ,请单击 创建子流 以创建子流。
    您还可以使用 " OpenAPI 编辑器 配置 " 选项卡来实现基于 OpenAPI 3.0的 REST API 的错误处理程序。

结果

在 REST API 中实现了错误处理程序。

后续操作

必须将 REST API 打包并部署到 集成服务器,请参阅 打包并部署 REST API
您还可以完成下列可选任务: