Implementación de un manejador de errores en una API REST

Utilice la vista REST API Description para implementar manejadores de errores en una API REST.

Antes de empezar

Debe crear una API REST en REST API Description, consulte Creación de una API REST.

Acerca de esta tarea

Hay disponibles tres tipos de manejadores de errores para una API REST:
Captura
Si se genera una excepción al procesar una solicitud en un subflujo de una operación y ese subflujo no maneja la excepción, se direcciona un mensaje al manejador de errores de captura. Por ejemplo, si un nodo JavaCompute del subflujo de una operación emite una excepción y dicha excepción no la captura un nodo TryCatch , dicha excepción se pasa al manejador de errores de captación.
Tiempo de espera
Si un subflujo para una operación procesa un mensaje y ese subflujo no responde al cliente en el límite de tiempo esperado, se direcciona un mensaje al manejador de errores. A continuación, se puede utilizar el manejador de errores de tiempo de espera excedido para pasar una respuesta al cliente que informe a dicho cliente de que la operación ha excedido el tiempo de espera. Si se produce esta situación, el subflujo de una operación continúa procesando el mensaje. El proceso de ese mensaje no se cancela. Sin embargo, no se puede enviar una respuesta al cliente.
Nota: Dependiendo del cliente, el cliente puede agotar el tiempo de espera sin recibir una respuesta de la llamada a la operación, en cuyo caso, cualquier respuesta que se envíe no se recibirá.
Anomalía
Si se produce un error mientras se procesa la solicitud del cliente y los manejadores de errores Catch o Timeout no manejan ese error, se direcciona un mensaje al manejador de errores Failure.

Los manejadores de errores en una API REST se implementan como un subflujo. Debe utilizar IBM App Connect Enterprise Toolkit para crear un subflujo vacío para cada manejador de errores. A continuación, puede implementar el manejador de errores añadiendo cualquiera de los nodos de flujo de mensajes estándar que están disponibles en IBM App Connect Enterprise al subflujo.

Si no implementa un manejador de errores, se utilizará el comportamiento de manejo de errores predeterminado. Si no implementa el manejador de errores Catch o el manejador de errores Failure, la excepción se devuelve al cliente con unHTTP 500 Internal Server ErrorCódigo de estado. Si no implementa el manejador de errores Timeout, se devuelve una excepción de tiempo de espera al cliente con unHTTP 504 Gateway TimeoutCódigo de estado.

Procedimiento

Para implementar un manejador de errores en una API REST, realice los pasos siguientes:

  1. Abra el REST API Description para la API REST para la que desea implementar un manejador de errores.
    REST API Description se encuentra en la vista Desarrollo de aplicaciones bajo el proyecto de API REST.
  2. Localice el manejador de errores en REST API Description.
    Los manejadores de errores se listan en la cabecera Manejo de errores.

Complete uno de los pasos siguientes en función de si ha creado la API REST con un documento Swagger o un documento OpenAPI3.

  1. Opcional: Si ha creado RESTAPI con un documento Swagger, pulse el enlace de manejador de errores Implementar < tipo_manejador_error> , donde < tipo_manejador_error> es el tipo de manejador de errores.
    Se crea y abre automáticamente un nuevo subflujo. El enlace del REST API Description cambia a Abrir el manejador de errores < tipo_manejador_error> y, si pulsa el enlace, se vuelve a abrir el subflujo existente.
  2. Opcional: Si ha creado la API REST con un documento OpenAPI 3.0 , pulse Crear subflujo para crear un subflujo.
    También puede utilizar el separador Configuración del editor OpenAPI para implementar manejadores de errores para las API REST basadas en OpenAPI 3.0.

Resultados

El manejador de errores se ha implementado en la API REST.

Qué hacer a continuación

Debe empaquetar y desplegar la API REST en un servidor de integración, consulte Empaquetado y despliegue de una API REST.
También puede realizar las siguientes tareas opcionales: