RESTAPIRequestBody – Bereichsbezogen, Global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 3 Minuten Lesedauer
  • Mit der RESTAPIRequestBody- API können Sie in Skripts auf den Textinhalt einer geskripteten REST-API-Anforderung zugreifen.

    Das Format eines Objekts „RESTAPIRequestBody“ kann JSON oder XML sein, abhängig vom Wert der Content-Type-Kopfzeile aus der Anforderung.
    Hinweis:
    Sie können Objekte dieses Typs nicht instanziieren. Objekte dieses Typs werden automatisch erstellt und sind nur in Skripts für geskriptete REST-API-Ressourcen verfügbar.

    Diese API wird im Namespace sn_ws ausgeführt.

    Beispielanforderung-Body mit einem Eintrag im JSON-Format.
    {
     "name": "user1",
     "id": 1234,
     "roles": [
      {
       "name": "admin"
      },
      {
       "name": "itil"
      }
     ]
    }
    Beispiel für einen Anforderungstext mit mehreren Einträgen im JSON-Format.
    [{
     "name": "user1",
     "id": 1234,
     "roles": [
      {
       "name": "admin"
      },
      {
       "name": "itil"
      }
     ]
    },{
     "name": "user2",
     "id":9876,
     "roles": [
      {
       "name":"admin"
      }
     ]
    }]

    RESTAPIRequestBody – data

    Der Inhalt des Anforderungstexts.

    Hinweis:
    REST-Webservices verbrauchen Daten, Datenstrom und Datenzeichenfolge über den Stream. Da Streams nur einmal verwendet werden, kann nur einer aufgerufen werden. Wenn Sie beispielsweise sowohl data als auch dataString aufrufen, gibt der zweite Aufruf leer zurück.
    Tabelle : 1. Feld
    Name Typ Beschreibung
    data Objekt oder Array Der Anforderungsinhalt. Dies kann je nach Anforderung ein einzelnes Objekt oder ein Array von Objekten sein.
    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

    Der Inhalt des Anforderungstexts als Stream.

    Hinweis:
    REST-Webservices verbrauchen Daten, Datenstrom und Datenzeichenfolge über den Stream. Da Streams nur einmal verwendet werden, kann nur einer aufgerufen werden. Wenn Sie beispielsweise sowohl data als auch dataString aufrufen, gibt der zweite Aufruf leer zurück.
    Tabelle : 2. Feld
    Name Typ Beschreibung
    dataStream Objekt Der Inhalt des Anforderungstexts. Sie können den Stream an eine separate API übergeben, z. B. um einen Anhang aus der Anforderung zu erstellen oder die Anforderung an einen anderen Endpunkt weiterzuleiten.
    var requestBody = request.body; 
    var requestStream = requestBody.dataStream;

    RESTAPIRequestBody – dataString

    Der Inhalt des Anforderungstexts als Zeichenfolge.

    Hinweis:
    REST-Webservices verbrauchen Daten, Datenstrom und Datenzeichenfolge über den Stream. Da Streams nur einmal verwendet werden, kann nur einer aufgerufen werden. Wenn Sie beispielsweise sowohl data als auch dataString aufrufen, gibt der zweite Aufruf leer zurück.
    Tabelle : 3. Feld
    Name Typ Beschreibung
    dataString Zeichenfolge Der Inhalt des Anforderungstexts.
    var requestBody = request.body; 
    var requestString = requestBody.dataString;

    RESTAPIRequestBody – hasNext()

    Bestimmt, ob zusätzliche Einträge im Anforderungstext vorhanden sind.

    Verwenden Sie diese Methode mit der nextEntry()- Methode, um mehrere Anforderungstexteinträge zu durchlaufen.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    boolean Kennzeichnung, die angibt, ob der Anforderungstext zusätzliche Einträge enthält.
    Mögliche Werte:
    • true: Zusätzliche Einträge sind verfügbar. Beim Aufruf von nextEntry() bleibt hasNext() solange „true“, bis der letzte übereinstimmende Datensatz geladen ist.
    • false: Keine zusätzlichen Einträge.
    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()

    Ruft einen Eintrag aus dem Anforderungstext als Skriptobjekt ab.

    Verwenden Sie diese Methode mit der Methode „hasNext()“, um mehrere Anforderungstexteinträge zu durchlaufen.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 7. Ergebnisse
    Typ Beschreibung
    Objekt Ein einzelner Eintrag aus dem Anforderungstext.
    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.

    Dieses Beispiel zeigt die Verwendung von „hasNext()“ mit „nextEntry()“.

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