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

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

Avant de commencer

Vous devez créer une API REST dans Description de l'API REST, 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 lors du traitement d'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 de capture. Par exemple, si un noeud JavaCompute du flux secondaire d'une opération génère une exception et que cette exception n'est pas intercepte par un noeud TryCatch , cette exception est transmise au gestionnaire d'erreurs Catch.
Délai d'attente
Si un flux secondaire d'une opération traite un message et que le flux secondaire ne répond pas au client dans la limite de temps attendue, 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 le client 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: Selon le client, le client peut se retirer sans recevoir de réponse lors de l'appel de l'opération, auquel 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 l'erreur n'est pas traitée par les gestionnaires d'erreurs Catch ou Timeout, un message est acheminé vers le gestionnaire d'erreurs d'échec.

Les gestionnaires d'erreurs dans une API REST sont implémenté en tant que flux secondaire. Vous devez utiliser IBM Integration Toolkit pour créer un flux secondaire vide pour chaque gestionnaire d'erreurs. Vous pouvez ensuite implémenter le gestionnaire d'erreurs en ajoutant l'un des noeuds de flux de messages standard disponibles dans IBM Integration Bus au flux secondaire.

Si vous n'implémrez pas de gestionnaire d'erreurs, le comportement de gestion des erreurs par défaut est utilisé. Si vous n'implémrez pas le gestionnaire d'erreurs Catch 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émrez 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 fichier Description de l'API REST pour l'API REST pour laquelle vous souhaitez implémenter un gestionnaire d'erreurs.
    Le fichier Description de l'API REST se trouve dans le fichier Vue Développement d'applications sous le projet API REST.
  2. Recherchez le gestionnaire d'erreurs dans Description de l'API REST.
    Les gestionnaires d'erreurs sont répertoriés sous la rubrique Gestion des erreurs.
  3. Cliquez sur le lien du gestionnaire d'erreurs Implémenter le fichier < type_port_erreur > , où < type_port_erreur > est le type de gestionnaire d'erreurs.
    Un nouveau flux secondaire est automatiquement créé et ouvert. Le lien des Description de l'API REST modifications apportées au gestionnaire d'erreurs Ouvrez le fichier < type_erreur_erreur > et, si vous cliquez sur le lien, le sous-flux existant s'ouvre.
  4. Implémentez le gestionnaire d'erreurs en ajoutant l'un des noeuds de flux de messages standard disponibles dans IBM Integration Bus au flux secondaire.

Résultats

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

Etape suivante

Vous devez conditionnez 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: