RESTAPIRequestBody – Bereichsbezogen, Global
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.
| 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.
| 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.
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| boolean | Kennzeichnung, die angibt, ob der Anforderungstext zusätzliche Einträge enthält. Mögliche Werte:
|
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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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();
}