Création de services Web RESTful

Créez des services Web RESTful à l'aide des pages Modules, Modèles et Gestionnaires.

Pour créer un service Web RESTful, vous devez :

  • Définir un module de ressources

  • Définir un modèle de ressource

  • Définissez un ou plusieurs gestionnaires de ressources tels que GET, PUT, POST ou DELETE. Définissez éventuellement les paramètres que vous devez transmettre au gestionnaire de ressources.

Les sections suivantes fournissent des informations sur la création de modules de ressources, de modèles de ressources et de gestionnaires de ressources.

Rubriques connexes :

Gestion des modules de ressources

Vous pouvez définir, modifier et supprimer des modules de ressources dans la page Modules.

Pour accéder à la page Modules, sur la page Aperçu REST, cliquez sur Modules dans Objets ou, dans le menu de l'en-tête, sélectionnez Modules.

Les attributs de module affichés par défaut dans la vue de carte sont illustrés dans la figure suivante.

Le statut du module peut être publié ou non publié. Si le statut n'est pas publié, l'icône s'affiche en rouge.

Cliquez sur le nom du module dans la vue Carte pour accéder à la page Modèles de ce module. Vous pouvez également accéder à la page Templates via le menu contextuel.

Les actions disponibles dans le menu contextuel sont les suivantes :

Création d'un module de ressources

Cette section explique comment créer un module de ressources.

  1. Sur la page Modules, cliquez sur Créer un module.
  2. Entrez les informations suivantes . Les champs accompagnés d'un astérisque (*) sont obligatoires :

    Onglet Définition module

    • Nom du module : entrez le nom du module. Ce champ distingue les minuscules des majuscules.

    • Chemin de base : entrez la base de l'URI permettant d'accéder au service RESTful. Par exemple : hr/ signifie que tous les URI commençant par hr/ seront pris en charge par ce module de ressources. Notez la modification apportée à l'URL d'aperçu lorsque vous entrez le chemin de base.

    • Est publié : activez cette option pour que le service RESTful soit disponible pour utilisation.

    • Taille de pagination : entrez ou sélectionnez le nombre de résultats à renvoyer sur chaque page en fonction d'une requête de base de données. La valeur par défaut est 25.

    • Protégé par privilège : sélectionnez un privilège pour protéger le module de la liste déroulante.
    • Commentaires : Entrez des commentaires descriptifs.

    • Accéder au module après sa création : sélectionnez cette option pour accéder à la page Modèles une fois le module créé.

    Onglet Origines autorisées

    • Saisissez les origines autorisées à accéder aux modèles de ressource. Cliquez sur Ajouter (+) pour ajouter chaque origine. Exemple :

      http://example1.org

      https ://*.example2.com

    Afficher le code : sélectionnez cette option pour afficher l'équivalent de code PL/SQL du curseur Créer un module. Vous pouvez copier et exécuter ce code PL/SQL dans la feuille de calcul pour effectuer la même action que celle qui se produit lorsque vous cliquez sur Créer dans le curseur Créer un module.

  3. Cliquez sur Créer.

    Le nouveau module s'affiche sur la page Modules. Si vous ne pouvez pas le voir, localisez le module à l'aide du champ Rechercher.

Import d'un module de ressources

Cette section explique comment importer un module de ressources.

Remarques :

Vous pouvez importer un document OpenAPI version 2.0 ou 3.0 au format JSON uniquement.
  1. Sur la page Modules, en haut à droite, cliquez sur Importer le module.
  2. Parcourez le fichier JSON à importer et sélectionnez-le. Cliquez sur Ouvrir.

    Le curseur Importer le module s'affiche avec les champs Chemin de base et URL d'aperçu préremplis. Modifiez le chemin de base selon vos besoins. La modification du champ de chemin de base mettra également à jour le chemin de base au format JSON affiché dans le curseur.

  3. Conseil : par défaut, le portlet Jeu de transport - Services d'import est situé dans l'onglet Portail de l'onglet Administrer de la page Portal Builder.

    Lorsque le module est importé, une configuration de privilèges est créée et définie pour protéger le module. Le nom du privilège est généré en utilisant le chemin de base et en ajoutant "_priv" à la fin de la chaîne de chemin de base et en remplaçant également chaque barre oblique "/" dans le chemin de base par le trait de soulignement "_".

  4. Votre module est prêt à être modifié.

    Une fois votre module importé, les modèles et les gestionnaires sont créés, mais le module n'est pas publié. Vous devez fournir des blocs SQL et PL/SQL pour chaque gestionnaire, et publier votre module lorsqu'il est prêt pour le test ou la production.

Modification d'un module de ressource

Cette section explique comment modifier un module de ressources.

  1. Sur la page Modules, pour le module spécifique, cliquez sur icône du menu contextuel et sélectionnez Modifier.
  2. Modifiez les champs requis et cliquez sur Enregistrer. Pour une description des champs, reportez-vous à la section Creating a Resource Module.

Suppression d'un module de ressources

Cette section explique comment supprimer un module de ressources.

  1. Sur la page Modules, pour le module spécifique, cliquez sur menu contextuel et sélectionnez Supprimer.

    Une invite vous invite à confirmer le rétablissement.

  2. Cliquez sur OK pour effectuer la suppression.

Publication/annulation de la publication d'un module de ressource

Cette section explique comment rendre un module de ressources disponible ou non.

  1. Sur la page Modules, pour le module spécifique, cliquez sur menu contextuel, puis sélectionnez Publier ou Annuler la publication.

    Une invite de confirmation s'affiche.

  2. Cliquez sur OK.

Export d'un module de ressources

Vous pouvez exporter le code source PL/SQL pour le code JSON API ou Open API (Swagger) pour un module de ressources ou un service RESTful. Si le module comporte des modèles, des gestionnaires, des paramètres, des rôles, etc., ces objets sont également affichés et exportés.

  1. Sur la page Modules, pour un module spécifique, cliquez sur menu contextuel et sélectionnez Exporter le module.
  2. Sélectionnez PL/SQL pour copier ou exporter la source PL/SQL de l'API. Sélectionnez OpenAPI pour copier ou exporter le code JSON Open API (Swagger) du module.

    Remarques :

    Un module exporté à l'aide de l'API ouverte est toujours importé avec un statut non publié.
  3. Cliquez sur Copier dans le presse-papiers pour copier le code ou sur Télécharger pour le télécharger vers votre ordinateur local.

Afficher le module dans la vue OpenAPI

Cette section explique comment ouvrir le module dans la vue Open API.

L'option de vue Open API est disponible pour les modules qui sont publiés et non protégés.
  1. Sur la page Modules, pour le module spécifique, cliquez sur menu contextuel et sélectionnez Vue OpenAPI.
  2. Le module est affiché en tant qu'implémentation d'interface utilisateur Swagger.
    Vous pouvez afficher et exécuter les gestionnaires, transmettre des paramètres aux gestionnaires, et copier ou télécharger les réponses.

    Pour en savoir plus sur l'implémentation de l'interface utilisateur Swagger, sur le site Web officiel de l'interface utilisateur Swagger.

Gérer les modèles de ressource

Vous pouvez définir, modifier et supprimer des modèles de ressource pour un module dans la page Modèles.

Pour accéder à cette page, sur la page Modules, cliquez sur menu contextuel pour un module et sélectionnez Modèles, ou cliquez sur le nom du module dans la vue de carte.

En haut de la page, la carte de module est disponible avec des options de menu contextuel telles que Modifier, Supprimer, Publier et Exporter.

Les attributs de modèle affichés par défaut dans la vue de carte sont illustrés dans la figure suivante.

Cliquez sur le nom du modèle dans la vue Carte pour accéder à la page Gestionnaires. Vous pouvez également accéder à la page Handlers via le menu contextuel.

Les actions disponibles dans le menu contextuel sont les suivantes :

Création d'un modèle de ressource

Cette section explique comment créer un modèle de ressource.

  1. Sur la page Modèles d'un module, cliquez sur Créer un modèle.
  2. Entrez les informations suivantes . Les champs avec un astérisque (*) indiquent qu'ils sont obligatoires :
    • Modèle d'URI : entrez le modèle d'URI du modèle de ressource.

      Par exemple, un modèle de /objects/:object/ :id ? correspond à /objects/emp/101 (correspond à une demande pour l'élément dans la ressource emp avec l'ID 101) et à /objects/emp/ (correspond à une demande pour la ressource emp, car le paramètre :id est annoté avec le modificateur ?, ce qui indique que le paramètre id est facultatif).

      Notez que l'URL d'aperçu change lorsque vous saisissez le modèle d'URI.

    • Priorité : entrez ou choisissez la priorité de la façon dont le modèle de ressource doit être évalué (1 est de faible priorité et 9 est de priorité élevée).

    • Type de balise d'entité HTTP : sélectionnez le type de balise d'entité à utiliser par le modèle de ressource. Une balise d'entité est un en-tête HTTP qui sert d'identificateur de version pour une ressource.

      Les options sont les suivantes :

      • HASH sécurisé (valeur par défaut) : le contenu de la représentation de ressource renvoyée est haché à l'aide d'une fonction de synthèse sécurisée afin de fournir une empreinte unique pour une version de ressource donnée.

      • Requête : définissez manuellement une requête qui identifie de manière unique une version de ressource. Une requête définie manuellement peut souvent générer une balise d'entité plus efficacement que le hachage de l'ensemble de la représentation des ressources.

      • Aucun : ne générez pas de balise d'entité.

    • Commentaires : Entrez des commentaires descriptifs, le cas échéant.

    • Accéder à Gestionnaires après la création : sélectionnez cette option pour accéder à la page Gestionnaires une fois le modèle créé.

    Afficher le code : sélectionnez cette option pour afficher le code PL/SQL équivalent du curseur Créer un modèle. Vous pouvez copier et exécuter ce code PL/SQL dans la feuille de calcul pour effectuer la même action que lorsque vous cliquez sur Créer dans le curseur Créer un modèle.

  3. Cliquez sur Créer.

    Le nouveau modèle du module est ajouté à la page Modèles.

    Si l'option "Aller aux gestionnaires après la création" est sélectionnée, vous pouvez utiliser le nom du module dans le chemin de navigation en haut de la page pour afficher la liste des modèles du module.

Modification d'un modèle de ressource

Cette section explique comment modifier un modèle de ressource.

  1. Sur la page Modèles, pour un modèle spécifique, cliquez sur menu contextuel, puis sélectionnez Modifier.
  2. Modifiez les champs obligatoires et cliquez sur Enregistrer.

    Pour une description des champs, reportez-vous à la rubrique Création d'un modèle de ressource.

Suppression d'un modèle de ressource

Cette section explique comment supprimer un modèle de ressource.

  1. Sur la page Modèles, pour un modèle spécifique, cliquez sur menu contextuel, puis sélectionnez Supprimer.

    Vous êtes invité à confirmer.

  2. Cliquez sur OK pour effectuer la suppression.

Gérer les gestionnaires de ressources

Vous pouvez créer, modifier et supprimer des gestionnaires de ressources pour un modèle dans la page Gestionnaires.

Pour accéder à cette page, sur la page Modèles, cliquez sur menu contextuel pour un modèle et sélectionnez Gestionnaires, ou cliquez sur le nom du modèle dans la vue de carte.

En haut de la page, la carte modèle est disponible avec des options de menu contextuel telles que Modifier et Supprimer.

Les attributs de gestionnaire affichés par défaut dans la vue Carte sont illustrés dans la figure suivante.

La méthode HTTP peut être l'une des suivantes : GET, PUT, POST et DELETE.

Vous pouvez accéder à la page Méthode HTTP à l'aide du menu contextuel. La page Méthode HTTP contient trois onglets : Source, Paramètres et Demandes pré-authentifiées.

Pour créer un gestionnaire de ressources, reportez-vous à Création d'un gestionnaire de ressources.

Remarques :

Cette option n'est pas disponible si les quatre gestionnaires du modèle ont été créés (GET, POST, PUT, DELETE).

Les actions disponibles dans le menu contextuel sont les suivantes :

Créer un gestionnaire de ressources

Cette section explique comment créer un gestionnaire de ressources.

  1. Sur la page Gestionnaires, cliquez sur Créer un gestionnaire.
  2. Indiquez les propriétés du gestionnaire de ressources. Les options spécifiques dépendent du type de méthode.

    Onglet Définition du gestionnaire

    • Méthode : entrez la méthode de demande HTTP pour ce gestionnaire : GET (extraction d'une représentation d'une ressource), POST (création d'une ressource ou ajout d'une ressource à une collection), PUT (mise à jour d'une ressource existante) ou DELETE (supprime une ressource existante). Un seul gestionnaire est autorisé pour chaque méthode HTTP.

    • Articles par page : entrez ou choisissez la taille de pagination par défaut, ou le nombre de lignes à renvoyer pour une requête de base de données. Cette option n'est disponible que pour les gestionnaires GET. Si cette valeur n'est pas définie, le nombre d'éléments par page est celui défini dans le module.

    • Type de source : sélectionnez l'implémentation source pour la méthode HTTP sélectionnée. La valeur par défaut est la requête de collecte.

      • Requête de collecte : exécute une requête SQL et transforme l'ensemble de résultats en une représentation JSON. Disponible lorsque la méthode HTTP est GET.

      • Elément de collecte : exécute une requête SQL renvoyant une ligne de données dans une représentation JSON. Disponible lorsque la méthode HTTP est GET.

      • Média : exécute une requête SQL conforme à un format spécifique et transforme l'ensemble de résultats en une représentation binaire avec un en-tête HTTP Content-Type associé identifiant le type de média Internet de la représentation.

      • PL/SQL : exécute un bloc PL/SQL anonyme et transforme tous les paramètres OUT ou IN/OUT en une représentation JSON.

    • Source : entrez la requête SQL ou le bloc PL/SQL pour la méthode HTTP. Dans la page de détails du gestionnaire, vous pouvez tester le code du gestionnaire SQL ou PL/SQL dans l'éditeur du gestionnaire.

    • Accéder au gestionnaire après sa création : sélectionnez cette option pour accéder à la page de détails une fois le gestionnaire créé.

    Onglet MIME autorisés

    Identifie le type d'informations inclus dans le corps de demande HTTP. Par exemple, si le gestionnaire POST attend JSON dans la demande, ajoutez "Application/JSON" comme type MIME.

    Afficher le code : sélectionnez cette option pour afficher l'équivalent de code PL/SQL du curseur Créer un gestionnaire. Vous pouvez copier et exécuter ce code PL/SQL dans la feuille de calcul pour effectuer la même action que lorsque vous cliquez sur Créer dans le curseur Créer un gestionnaire.

  3. Cliquez sur Créer.

    Le gestionnaire est affiché sur la page Gestionnaires pour le modèle spécifique.

    Vous pouvez tester l'adresse de service REST à l'aide d'un client REST ou d'un outil de ligne de commande tel que cURL.

Modification d'un gestionnaire de ressources

Cette section explique comment modifier un gestionnaire de ressources.

  1. Sur la page Gestionnaires, pour un gestionnaire spécifique, cliquez sur menu contextuel, puis sur Détails.
  2. Modifiez les champs obligatoires et cliquez sur Enregistrer.

    Pour une description des champs, reportez-vous à Création d'un gestionnaire de ressources.

Suppression d'un gestionnaire de ressources

Cette section décrit comment supprimer un gestionnaire de ressources.

  1. Sur la page Gestionnaires, pour le gestionnaire spécifique, cliquez sur menu contextuel, puis sur Supprimer.

    Vous êtes invité à confirmer.

  2. Cliquez sur OK pour effectuer la suppression.

Afficher les détails du gestionnaire de ressources et gérer les paramètres

Vous pouvez visualiser les détails du gestionnaire de ressources et gérer les paramètres sur la page Méthode HTTP.

Pour accéder à cette page, pour un gestionnaire spécifique, cliquez sur menu contextuel, puis sélectionnez Détails ou cliquez sur le nom du gestionnaire dans la vue de carte.

En haut de la page, la carte de gestionnaire est disponible avec des options de menu contextuel telles que Modifier et Supprimer.

La page Méthode HTTP du gestionnaire comporte deux sections principales :

  • Editeur de code permettant d'exécuter le code source SQL ou PL/SQL défini dans le gestionnaire de ressources. Vous pouvez exécuter le code, enregistrer, annuler, rétablir, télécharger et effacer la sortie. Pour plus d'informations sur l'éditeur, reportez-vous à Exécution d'instructions SQL dans l'éditeur de code.

    Les paramètres implicites utilisés dans les gestionnaires de service REST sont affichés dans une liste déroulante vers la droite de l'éditeur. Reportez-vous à Paramètres implicites

  • Section de gestion des paramètres requis pour l'exécution de la méthode HTTP.

Par défaut, les paramètres sont affichés en grille. Les attributs affichés sur un paramètre en mode carte sont illustrés dans la figure suivante.

Les actions disponibles dans le menu contextuel sont les suivantes :

Création d'un paramètre

Cette section explique comment créer un paramètre pour un gestionnaire de ressources.

  1. Sur la page Méthode HTTP du gestionnaire, cliquez sur Créer un paramètre.
  2. Entrez les informations suivantes . Les champs accompagnés d'un astérisque (*) sont obligatoires :
    • Nom du paramètre : entrez le nom du paramètre, tel qu'il est nommé dans le modèle d'URI ou l'en-tête HTTP. Le nom définit comment le paramètre est identifié dans la demande entrante ou comment il est nommé dans la réponse.

    • Nom de variable attachée : entrez le nom du paramètre, tel qu'il sera référencé dans SQL. Si NULL est spécifié, le paramètre n'est pas lié.

    • Type de source : sélectionnez le type identifié si le paramètre provient du modèle d'URI ou de l'en-tête HTTP.

    • Type de paramètre : sélectionnez le type natif du paramètre.

    • Méthode d'accès : sélectionnez la méthode d'accès au paramètre. Indique si le paramètre est une valeur d'entrée, une valeur de sortie, ou les deux.

    Afficher le code : sélectionnez cette option pour visualiser le code PL/SQL équivalent du curseur Créer un paramètre. Vous pouvez copier et exécuter ce code PL/SQL dans la feuille de calcul pour effectuer la même action que lorsque vous cliquez sur Créer dans le curseur Créer un paramètre.

  3. Cliquez sur Créer.

    Le paramètre est ajouté dans la section Paramètres.

Modification d'un paramètre

Cette section explique comment modifier un paramètre.

  1. Dans la section Paramètres, pour le paramètre spécifique, cliquez sur menu contextuel, puis sélectionnez Modifier.
  2. Modifiez les champs obligatoires et cliquez sur Enregistrer.

    Pour une description des champs, reportez-vous à Création d'un paramètre.

Suppression d'un paramètre

Cette section explique comment supprimer un paramètre.

  1. Dans la section Paramètres, pour le paramètre spécifique, cliquez sur menu contextuel, puis sélectionnez Supprimer.

    Vous êtes invité à confirmer.

  2. Cliquez sur Oui pour effectuer la suppression.
Paramètres implicites

Cette section décrit les paramètres implicites de la page Détails du gestionnaire de ressources. Ces paramètres sont automatiquement ajoutés aux gestionnaires de ressources.

Tableau 4-1 Paramètres implicites

Nom Type Mode d'accès En-tête HTTP Description

:body

BLOB

IN

S/O

Spécifie le corps de la demande en tant que BLOB temporaire.

:body_text

CLOB

IN

S/O

Indique le corps de la demande en tant qu'objet CLOB temporaire.

:content_type

VARCHAR

IN

Content-Type

Spécifie le type MIME du corps de la demande, comme indiqué par l'en-tête de la demande Content-Type.

:current_user

VARCHAR

IN

S/O

Spécifie l'utilisateur authentifié pour la demande. Si aucun utilisateur n'est authentifié, la valeur est définie sur NULL.

:forward_location

VARCHAR

OUT

X-ORDS-FORWARD-LOCATION

Spécifie l'emplacement où Oracle REST Data Services doit transmettre une demande GET pour produire la réponse à cette demande.

:fetch_offset

NUMBER

IN

S/O

Indique le décalage basé sur zéro de la première ligne à afficher sur une page.

:fetch_size

NUMBER

IN

S/O

Indique le nombre maximum de lignes à extraire sur une page.

:page_offset

NUMBER

IN

S/O

Indique le décalage de page basé sur zéro dans une demande paginée.

Remarque : le paramètre The :page_offset est en phase d'abandon. Utilisez plutôt le paramètre :row_offset.

:page_size

NUMBER

IN

S/O

Indique le nombre maximum de lignes à extraire sur une page.

Le paramètre :page_size est obsolète. Utilisez plutôt :fetch_size parameter .

:row_offset

NUMBER

IN

S/O

Indique l'index basé sur un seul élément de la première ligne à afficher dans une demande paginée.

:row_count

NUMBER

IN

S/O

Indique l'index basé sur un seul de la dernière ligne à afficher dans une demande paginée.

:status_code

NUMBER

OUT

X-ORDS-STATUS-CODE

Indique le code de statut HTTP de la demande.

Pour plus d'informations sur les paramètres implicites, reportez-vous au Guide du développeur Oracle REST Data Services.

Utilisation de demandes pré-authentifiées pour accéder aux services RESTful ORDS

Pour accéder aux services RESTful protégés, vous pouvez créer et révoquer des demandes pré-authentifiées.

Les demandes pré-authentifiées vous permettent d'accéder aux services RESTful ORDS protégés sans informations d'identification utilisateur. Lorsque vous créez un traitement pré-authentifié, une URL unique est générée. Vous pouvez fournir cette URL à un utilisateur externe pour interagir avec l'entité RESTful particulière à l'aide des outils HTTP standard.

Pour plus d'informations sur les demandes pré-authentifiées, reportez-vous à Demandes pré-authentifiées Oracle REST Data Services dans le Guide du développeur Oracle REST Data Services.

Pour accéder à la page Demandes pré-authentifiées, vous pouvez effectuer l'une des opérations suivantes :

  • Sur la page Aperçu, cliquez sur la mosaïque Demandes pré-authentifiées.

  • Dans la barre de menus, développez Sécurité et sélectionnez Demandes pré-authentifiées.

Rubriques :

Création d'une demande pré-authentifiée

Pour créer une demande pré-authentifiée pour un gestionnaire existant, utilisez la commande suivante :

  1. Dans le menu contextuel d'un gestionnaire existant, sélectionnez Créer une demande pré-authentifiée.

    Le panneau Créer une demande pré-authentifiée apparaît.

  2. Dans le champ Expiration de jeton, entrez la durée d'expiration du jeton en secondes.

    Sélectionnez Afficher le code pour visualiser le code source sous-jacent pour la création de la demande pré-authentifiée.

    Cliquez sur Créer.

    Le jeton, l'alias et le lien relatif permettant d'accéder à la ressource s'affichent. Vous devez garder une trace du jeton et de l'alias car vous ne pourrez pas obtenir leurs valeurs ultérieurement. Si vous oubliez les valeurs, vous pouvez révoquer le jeton et en créer un nouveau.

Affichage d'une demande pré-authentifiée

Dans le menu contextuel d'un gestionnaire existant, sélectionnez Demandes pré-authentifiées, puis Détails.

Les demandes pré-autheniquées pour le gestionnaire spécifique apparaissent.

Révocation d'une demande pré-authentifiée

Pour révoquer la demande pré-authentifiée d'un gestionnaire, procédez comme suit :

  1. Dans le menu contextuel d'un gestionnaire existant, sélectionnez Demandes pré-authentifiées, puis Détails.

    Les demandes pré-authentifiées pour le gestionnaire spécifique apparaissent.

  2. Dans le menu contextuel de la demande pré-authentifiée, sélectionnez Révoquer.

    Vous êtes invité à confirmer.

  3. Cliquez sur Confirmer pour révoquer la demande.

Exemple : insertion d'un enregistrement à l'aide d'un gestionnaire POST

L'exemple suivant illustre l'insertion d'un enregistrement dans la table DEPT.

Prérequis

  • A l'aide de la feuille de calcul de la page SQL, créez une table DEPT.

    CREATE TABLE DEPT(  
      DEPTNO     number(2,0),  
      DNAME      varchar2(14),  
      LOC        varchar2(13),  
      CONSTRAINT PK_DEPT PRIMARY KEY (DEPTNO)  
    )
    
  • Créez un module nommé example. Reportez-vous à la section Creating a Resource Module

  • Créez un modèle nommé emp/ pour le module. Voir Création d'un modèle de ressource

Pour insérer un enregistrement :
  1. Sur la page Gestionnaires, cliquez sur Créer un gestionnaire.
  2. Entrez les détails suivants :
    • Dans le champ Méthode, sélectionnez POST.

    • Dans le champ Type de source, sélectionnez PL/SQL.

    • Dans le champ Source, entrez le bloc PL/SQL suivant :

      DECLARE  
         id number;
      BEGIN
          INSERT INTO DEPT (DEPTNO, DNAME, LOC) VALUES (:DEPTNO, :DEPTNAME, :DEPTLOC) RETURNING DEPTNO INTO id;
          :status_code := 201;
          :forward_location := id;
      END;
      

      où :

      • RETURNING DEPTNO INTO id renvoie la valeur affectée à DEPTNO dans la variable id.

      • :status_code est un paramètre implicite auquel la valeur 201 est affectée pour indiquer que la ressource est créée.

      • :forward_location est un paramètre implicite auquel est affecté le paramètre id qui contient la valeur de DEPTNO. Ce paramètre indique l'emplacement de transmission d'une demande GET pour produire la réponse à la demande POST.

    • Assurez-vous que l'option Accéder à la page Gestionnaire après la création est sélectionnée.

    • Dans l'onglet MIME autorisés, sélectionnez application/json dans la liste déroulante et cliquez sur Ajouter +.

    • Cliquez sur Créer.

    La page POST du gestionnaire s'affiche.

    Vous pouvez tester le code source en cliquant sur Exécuter l'instruction Exécuter l'instruction dans l'onglet Source.

  3. Créez un gestionnaire de ressources GET pour produire une réponse pour la demande POST.

    Dans le module Exemple, créez un modèle nommé emp/ :id.

    Créez un gestionnaire de ressources GET dont le type de source est Elément de collecte et la source contient la requête suivante :

    SELECT * FROM DEPT WHERE DEPTNO = :id
    
  4. Testez l'adresse du service RESTful à l'aide de la commande suivante dans cURL. Vous pouvez copier l'URL (http://xyz.us.comp.com:1234/ords/pdbdba/example/emp) à l'aide de l'icône Copier dans le presse-papiers dans la carte du gestionnaire POST en haut.
    curl --location --request POST --header "Content-Type: application/json" 
    --data '{"DEPTNO": 54, "DEPTNAME": "HR", "DEPTLOC": "America" }' 'http://xyz.us.comp.com:1234/ords/pdbdba/example/emp/'

    Sortie :

    {"deptno":54,"dname":"HR","loc":"America","links":[{"rel":"collection",
    "href":"xyz.us.comp.com:1234/ords/pdbdba/example/emp/"}]}
  5. Dans la page SQL, vérifiez la table DEPT pour voir si le nouvel enregistrement a été inséré à l'aide de l'instruction suivante :
    SELECT * FROM DEPT;