Implémentation d'un gestionnaire d'erreurs dans une API REST

Utilisez la vue REST API Description pour implémenter des gestionnaires d'erreurs dans une API REST.

Avant de commencer

Vous devez créer une API REST dans le REST API Description. Voir Création d'une API REST.

A propos de cette tâche

Trois types de gestionnaire d'erreurs sont disponibles pour une API REST:
Intercepter
Si une exception est émise lorsque vous traitez une demande dans un flux secondaire pour une opération et que cette exception n'est pas traitée par ce flux secondaire, un message est acheminé vers le gestionnaire d'erreurs d'interception. Par exemple, si un noeud JavaCompute dans le flux secondaire d'une opération émet une exception et que cette dernière n'est pas interceptée par un noeud TryCatch , cette exception est transmise au gestionnaire d'erreurs d'interception.
Délai d'attente
Si un flux secondaire d'une opération traite un message et que ce flux secondaire ne répond pas au client dans le délai prévu, un message est acheminé vers le gestionnaire d'erreurs de délai d'attente. Le gestionnaire d'erreurs de délai d'attente peut ensuite être utilisé pour transmettre une réponse au client afin d'informer ce dernier que l'opération a expiré. Si cette situation se produit, le flux secondaire d'une opération continue de traiter le message. Le traitement de ce message n'est pas annulé. Toutefois, une réponse au client ne peut pas être envoyée.
Remarque: En fonction du client, le client peut arriver à un délai d'attente sans recevoir de réponse de la part de l'appel de l'opération. Dans ce cas, toute réponse envoyée n'est pas reçue.
Echec
Si une erreur se produit alors que la demande du client est en cours de traitement et que cette erreur n'est pas traitée par les gestionnaires d'erreurs d'interception ou de délai d'attente, un message est acheminé vers le gestionnaire d'erreurs d'échec.

Les gestionnaires d'erreurs dans une API REST sont implémentés en tant que flux secondaire. Vous devez utiliser la boîte à outils « IBM App Connect Enterprise » pour créer un sous-flux vide pour chaque gestionnaire d'erreurs. Vous pouvez ensuite implémenter le gestionnaire d'erreurs en ajoutant au sous-flux l'un des nœuds de flux de messages standard disponibles dans IBM App Connect Enterprise.

Si vous n'implémentez pas de gestionnaire d'erreurs, le comportement de traitement d'erreurs par défaut est utilisé. Si vous n'implémentez pas le gestionnaire d'erreurs d'interception ou le gestionnaire d'erreurs d'échec, l'exception est renvoyée au client avec unHTTP 500 Internal Server Errorcode d'état. Si vous n'implémentez pas le gestionnaire d'erreurs de délai d'attente, une exception de délai d'attente est renvoyée au client avec unHTTP 504 Gateway Timeoutcode d'état.

Procédure

Pour implémenter un gestionnaire d'erreurs dans une API REST, procédez comme suit:

  1. Ouvrez le REST API Description de l'API REST pour laquelle vous souhaitez implémenter un gestionnaire d'erreurs.
    REST API Description se trouve dans la vue Développement d'application sous le projet d'API REST.
  2. Recherchez le gestionnaire d'erreurs dans le REST API Description.
    Les gestionnaires d'erreurs sont répertoriés sous l'en-tête Gestion des erreurs.

Effectuez l'une des étapes suivantes selon que vous avez créé l'API RESTAPI avec un document Swagger ou un document OpenAPI3 .

  1. Facultatif: Si vous avez créé l'API RESTAPI avec un document Swagger, cliquez sur le lien du gestionnaire d'erreurs Implémenter le < error_handler_type> , où < error_handler_type> correspond au type du gestionnaire d'erreurs.
    Un nouveau flux secondaire est automatiquement créé et ouvert. Le lien sur le REST API Description devient Ouvrez le gestionnaire d'erreurs < error_handler_type> et si vous cliquez sur le lien, le flux secondaire existant s'ouvre de nouveau.
  2. Facultatif: Si vous avez créé l'API REST avec un document OpenAPI 3.0 , cliquez sur Créer un flux secondaire pour créer un flux secondaire.
    Vous pouvez également utiliser l'onglet OpenAPI Editor Configuration pour implémenter des gestionnaires d'erreurs pour les API REST basées sur OpenAPI 3.0.

Résultats

Le gestionnaire d'erreurs est implémenté dans l'API REST.

Etape suivante

Vous devez conditionner et déployer votre API REST sur un serveur d'intégration. Voir Conditionnement et déploiement d'une API REST.
Vous pouvez également effectuer les tâches facultatives suivantes: