HTTPRestManager
- 1 Beschreibung
- 2 Variante 1: REST CALL in JS
- 3 Variante 2: REST CALL mit tim.properties
- 3.1 Beschreibung
- 3.2 tim.properties
- 3.3 Javascript (JavaScript)
- 3.4 URL (HTTPRestManager)
- 3.5 Parameter
- 3.6 Beispiel
- 3.6.1 Javascript (JavaScript)
- 4 Customizing: REST CALL mit benutzerdefinierten Variablen (über Template-Datei) (JS und tim.properties)
Beschreibung
Der HTTP-Rest-Manager ermöglicht es dem Benutzer, Anforderungen an einen Server zu senden und die zurückgegebene Antwort in einer Variablen zu speichern, und kann mit den Werten in JS arbeiten.
Die folgende Dokumentation zeigt, wie Sie den Dienst auf verschiedenen Wegen aufrufen (Variante 1 und 2). Durch die Nutzung der Funktionalität wird die Anfrage über den Server weitergeleitet, um zu verhindern, dass Cross Site Scripting und z.B. Google Chrome Browser die Anfragedaten aufgrund der CORS-Richtlinie blockieren.
Voraussetzung: Der ausführende Benutzer/Server der Anwendung (Betriebssystembenutzer, nicht der aktuell angemeldete Benutzer) muss den gewünschten Endpunkt erreichen können.
Diese Zeichen :/?#[]@
sind Teil der generischen Syntax für einen URI (definiert in RFC 3986) und müssen durch den entsprechenden URL / Prozentwert ersetzt werden. In unserem Beispiel wurden [ und ] durch %5B und %5D ersetzt. Sehen Sie sich W3Schools.com an, wenn Sie Ihren URI überprüfen wollen
Variante 1: REST CALL in JS
Beschreibung
Der REST CALL wird vollständig in der JS-Datei verwaltet. Für Änderungen müssen Sie die Datei custom-project.js in Ihrem Ressourcenordner aktualisieren.
Javascript (JavaScript)
jqxhr = jQ.ajax({
url: '/loom-portal/rest/HttpRestManager?<<?>>',
type: 'GET',
}).success(function(data){
//Function to be called if the request succeeds
}).fail(function(data){
//Error Handling
});
Beim Aufruf des HttpRestManager über JavaScript muss der Type 'GET' sein.
URL (HTTPRestManager)
URL: '/loom-portal/rest/HttpRestManager?<<PARAMETER>>
Der erste Parameter beginnt mit einem <<?>> alle anderen werden von einem <<&>> hinzugefügt.
Beispiel-URL
$.ajax({
url: '/loom-portal/rest/HttpRestManager?hostName='+URL+"&method=GET&additionalHeaders=%5B" + "NAME_OF_VARIABLE=" + variable + ";" + "NAME_OF_VARIABLE2=" + variable2 + "%5D",
type: 'GET',
success: function(data) {
if (data.status && data.status == "200") {
console.log(data);
}
}
});
Parameter
Parametername | Standardwert | Beschreibung | Gültige Beispiele |
---|---|---|---|
hostName |
| Dieser Parameter enthält die URl des angeforderten Servers. | |
method | “POST” | Dieser Parameter bestimmt, welche Methode remote aufgerufen wird. "Post" bedeutet, dass der Server eine Eingabe im XML-Format erwartet, die er verarbeitet und zurückgibt. "Get" hingegen bedeutet, dass der Server Daten sendet, ohne dass eine Eingabe erforderlich ist. | Other possibilities are “delete”, “get”, “head”, “options”, “patch”, “post”, “put”. |
postParameter |
| Dieser Parameter enthält die Eingabe für den Server im JSON-Format. | "json", "XML", "HTML", "text", "auto" |
responseVariable | "SYS.HttpRestManager_response" | Dieser Parameter enthält die Prozessvariable, in der die Serverantwort gespeichert werden soll. | demoResponseVariable |
user |
| Dieser Parameter ist nur erforderlich, wenn der Server eine Identifizierung erfordert und den Benutzernamen des Benutzers enthält. | demoUser |
pass |
| Dieser Parameter wird nur benötigt, wenn der Server eine Identifikation benötigt und das Kennwort des Benutzers enthält. | demoPassword |
authMethod | "basic" | Dieser Parameter wird nur benötigt, wenn der Server eine Identifizierung erfordert und die Verschlüsselung enthält, die angewendet werden soll. Eine mögliche Verschlüsselung ist base64, die angewendet wird, indem dieser Parameter auf "basic" gesetzt wird. | "oauth" "basic" |
oAuthTokenUrl |
| Nur erforderlich, wenn authMethod = "oauth" URL, von der das oauth-Token abgerufen werden soll. |
|
access | "" | Definiert, welche Gruppen oder Benutzer die Schnittstelle aufrufen und Daten daraus abrufen können. Alle anderen Anrufe von nicht autorisierten Benutzern/Gruppen werden abgelehnt. Mehrere Benutzer/Gruppen können über ',' getrennt werden. | group(exampleGroup), user(exampleUser) |
additionalHeaders |
| Hinzufügen zusätzlicher Header zum Rest-Aufruf | "&method=GET&additionalHeaders=%5B" + "NAME_OF_VARIABLE=" + variable + ";" + "NAME_OF_VARIABLE2=" + variable2 + "%5D" |
Beispiel
Javascript (JavaScript)
Speichern Sie den Benutzer und das Passwort nicht ohne Maskierung in den JS-Dateien!
Verwenden Sie das Encodermodul, um die Daten zu maskieren.
URL: <<serverAdress>>/encoder/ (Falls nicht vorhanden, wenden Sie sich bitte an den definierten Ansprechpartner)
Funktion checkIfVariableIsNotNullAndNotUndefinedAndNotEmpty \[polyfill\]
Ausgabekonsole
Variante 2: REST CALL mit tim.properties
Beschreibung
Der Unterschied zu Variante 1 besteht darin, dass Sie den REST CALL in der Datei tim.properties konfigurieren müssen, die sich im Super-Ressourcenordner (Zugriff mit einem Super-Admin) oder Server-Dateisystem (Zugriff über Dateizugriff auf den Server) befindet. In diesem Fall müssen Sie die JS-Datei nicht berühren, wenn Sie z.B. das Passwort oder andere konfigurierbare Parameter ändern möchten. Solange der REST CALL bereits in der JS-Datei implementiert ist. Der Vorteil dieser Variante ist, dass Sie keine Passwörter oder Benutzernamen in der JavaScript-Datei hinterlegen müssen.
tim.properties
Javascript (JavaScript)
Diese Methode ist nur im erweiterten Framework verfügbar (benutzerdefiniert, kein Standard):
URL (HTTPRestManager)
Parameter
Parametername | Standardwert | Beschreibung | Gültige Beispiele |
---|---|---|---|
hostName |
| Dieser Parameter enthält die URl des angeforderten Servers. | |
method | "POST" | Dieser Parameter bestimmt, welche Methode remote aufgerufen wird. "Post" bedeutet, dass der Server eine Eingabe im XML-Format erwartet, die er verarbeitet und zurückgibt. "Get" hingegen bedeutet, dass der Server Daten sendet, ohne dass eine Eingabe erforderlich ist. | Other possibilities are “delete”, “get”, “head”, “options”, “patch”, “post”, “put”. |
postParameter |
| Dieser Parameter enthält die Eingabe für den Server im JSON-Format. | "json", "xml", "html", "text", "auto" |
responseVariable | "SYS.HttpRestManager_response" | Dieser Parameter enthält die Prozessvariable, in der die Serverantwort gespeichert werden soll. | demoResponseVariable |
user |
| Dieser Parameter ist nur erforderlich, wenn der Server eine Identifizierung erfordert und den Benutzernamen des Benutzers enthält. | demoUser |
pass |
| Dieser Parameter wird nur benötigt, wenn der Server eine Identifikation benötigt und das Kennwort des Benutzers enthält. | demoPassword |
authMethod | "basic" | Dieser Parameter wird nur benötigt, wenn der Server eine Identifizierung erfordert und die Verschlüsselung enthält, die angewendet werden soll. Eine mögliche Verschlüsselung ist base64, die angewendet wird, indem dieser Parameter auf "basic" gesetzt wird. | "oauth" "basic" |
oAuthTokenUrl |
| Nur erforderlich, wenn authMethod = "oauth" URL, von der das oauth-Token abgerufen werden soll. |
|
access | "" | Definiert, welche Gruppen oder Benutzer die Schnittstelle aufrufen und Daten daraus abrufen können. Alle anderen Anrufe von nicht autorisierten Benutzern/Gruppen werden abgelehnt. Mehrere Benutzer/Gruppen können über ',' getrennt werden. | group(exampleGroup), user(exampleUser) |
Beispiel
Javascript (JavaScript)
Customizing: REST CALL mit benutzerdefinierten Variablen (über Template-Datei) (JS und tim.properties)
Beschreibung
Das folgende Beispiel zeigt, wie benutzerdefinierte Variablen in Verbindung mit einer REST CALL über JSON-Vorlagendatei verwendet werden. In diesem Fall müssen Sie die Parameter "templatePath" und "customVariables" in der REST CALL URL hinzufügen. Auf diese Weise können Sie Ihren Anruf anpassen.
Javascript (JavaScript)
Javascript (JavaScript)
JSON-Datei - httpBodyGetHeadDataByDemoVariables.json (Parameter: templatePath)
JSON
Der Parameter templatePath bezieht sich auf den Stammordner der Client-Ressourcen (erreichbar über den Administrations-Client).
© TIM Solutions GmbH | AGB | Datenschutz | Impressum