RESTAPIRequestBody - Champ d’application, Global

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 3 minutes de lecture
  • L’API RESTAPIRequestBody vous permet d’accéder au corps d’une demande REST API scriptée dans des scripts.

    Le format d’un objet RESTAPIRequestBody peut être JSON ou XML, selon la valeur de l’en-tête du type de contenu de la requête.
    Remarque :
    Vous ne pouvez pas instancier des objets de ce type. Les objets de ce type sont créés automatiquement et ne sont accessibles que dans les scripts de ressources d’API REST scriptés.

    Cette API s’exécute dans l’espace de noms sn_ws .

    Exemple à entrée unique example-request-body au format JSON.
    {
     "name": "user1",
     "id": 1234,
     "roles": [
      {
       "name": "admin"
      },
      {
       "name": "itil"
      }
     ]
    }
    Exemple à entrées multiples example-request-body au format JSON.
    [{
     "name": "user1",
     "id": 1234,
     "roles": [
      {
       "name": "admin"
      },
      {
       "name": "itil"
      }
     ]
    },{
     "name": "user2",
     "id":9876,
     "roles": [
      {
       "name":"admin"
      }
     ]
    }]

    RESTAPIRequestBody : données

    Le contenu du corps de la demande.

    Remarque :
    Les services Web REST utilisent des données, un flux de données et une chaîne de données via un flux. Étant donné que les flux ne sont consommés qu’une seule fois, un seul peut être appelé. Par exemple, si vous appelez à la fois data et dataString, le deuxième appel renvoie vide.
    Tableau 1. Champ
    Nom Type Description
    données Objet ou tableau Le contenu de la demande. Il peut s’agir d’un objet unique ou d’un tableau d’objets en fonction de la demande.
    var entry;
    var id;
    var requestBody = request.body;
    var requestData = requestBody.data; //May be an array or a single object
    if (requestData instanceof Array) { 
     entry = requestData[0].name; // 'user1'
     id = requestData[0].id; // '1234'
    } else {
     entry = requestData.name; // 'user1'
     id = requestData.id; // '1234'
    }

    RESTAPIRequestBody : dataStream

    Le contenu du corps de la demande, sous forme de flux.

    Remarque :
    Les services Web REST utilisent des données, un flux de données et une chaîne de données via un flux. Étant donné que les flux ne sont consommés qu’une seule fois, un seul peut être appelé. Par exemple, si vous appelez à la fois data et dataString, le deuxième appel renvoie vide.
    Tableau 2. Champ
    Nom Type Description
    Datastream Objet Le contenu du corps de la demande. Vous pouvez transmettre le flux à une API distincte, par exemple pour créer une pièce jointe à partir de la demande ou transférer la demande à un autre point de terminaison.
    var requestBody = request.body; 
    var requestStream = requestBody.dataStream;

    RESTAPIRequestBody : dataString

    Le contenu du corps de la demande, sous forme de chaîne.

    Remarque :
    Les services Web REST utilisent des données, un flux de données et une chaîne de données via un flux. Étant donné que les flux ne sont consommés qu’une seule fois, un seul peut être appelé. Par exemple, si vous appelez à la fois data et dataString, le deuxième appel renvoie vide.
    Tableau 3. Champ
    Nom Type Description
    Chaîne de données Chaîne Le contenu du corps de la demande.
    var requestBody = request.body; 
    var requestString = requestBody.dataString;

    RESTAPIRequestBody - hasNext()

    Détermine s’il existe des entrées supplémentaires dans le corps de la demande.

    Utilisez cette méthode avec la méthode nextEntry() pour itérer sur plusieurs entrées de corps de requête.

    Tableau 4. Paramètres
    Nom Type Description
    Aucun
    Tableau 5. Renvoie
    Type Description
    booléen Marqueur indiquant s’il existe des entrées supplémentaires dans le corps de la demande.
    Valeurs possibles :
    • true : des entrées supplémentaires sont disponibles. Lorsque nextEntry() est appelé, hasNext() continue d’être vrai jusqu’à ce que le dernier enregistrement correspondant soit chargé.
    • false : aucune entrée supplémentaire.
    var requestBody = request.body;
    requestBody.hasNext(); // returns true if the request contains a single entry or multiple entries
    requestBody. nextEntry(); // returns next available entry
    
    //calling second time
    requestBody.hasNext(); // returns false if the request contains a single entry, or true if the request contains multiple entries

    RESTAPIRequestBody - nextEntry()

    Récupérez une entrée du corps de la demande en tant qu’objet de script.

    Utilisez cette méthode avec la méthode hasNext() pour itérer sur plusieurs entrées de corps de requête.

    Tableau 6. Paramètres
    Nom Type Description
    Aucun
    Tableau 7. Renvoie
    Type Description
    Objet Une entrée unique du corps de la demande.
    var requestBody = request.body;
    var requestEntry = requestBody.nextEntry(); // returns available entry if there is only one entry, or the first entry if there are multiple.
    var name = requestEntry.name; // 'user1'
    
    // Calling second time
    requestEntry = requestBody.nextEntry(); // returns undefined if there is only one entry, or the second entry if there are multiple.

    Cet exemple montre l’utilisation de hasNext() avec nextEntry().

    var requestBody = request.body;
    while(requestBody.hasNext()){
    var entry = requestBody.nextEntry();
    }