POST- und URL-Parameter-APIs

  • Freigeben Version: Yokohama
  • Aktualisiert 25. Juni 2026
  • 5 Minuten Lesedauer
  • Auf POST- und URL-Parameter kann als Eigenschaften von zugegriffen werden Anforderung Objekt mit Anforderung.postParameter Und Request.urlParameter .

    Auf jeden einzelnen Parameter kann als Eigenschaft von zugegriffen werden PostParameter Und UrlParameter Übergeordnete Objekte durch Aufruf Anforderung.postParameter.myParam . Jeder Parameter, auf den auf diese Weise zugegriffen wird, ist ein Objekt der zugrunde liegenden Klasse ParameterWert . Alle APIs in dieser Klasse können für jeden Parameter aufgerufen werden.

    Danach Client-Anforderung wird überprüft , Es kann erforderlich sein, auf Parameterwerte von zuzugreifen und zu verschlüsseln Anforderung Objekt. Abhängig von den Daten in der Client-Anforderung können Sie Werte verschlüsseln und sie auf mehrere Arten Feldern in der Instanz zuordnen.

    Verschlüsseln Sie den Wert einer bekannten Tabelle und eines bekannten Felds

    Wenn Sie den Namen der Instanztabelle und des Felds kennen, die die verschlüsselten Daten enthalten, können Sie sie explizit in der Verschlüsselungsregel definieren. Beispielsweise wissen Sie möglicherweise, dass die Anforderung in der Instanz verarbeitet wird, um einen Incident zu erstellen, und Sie möchten verschlüsseln Text Parameter im Beschreibungsfeld. In diesem Fall können Sie die folgende Aktion erstellen.

    function SampleAction1() { 
        request.postParams.text.valueFor('incident', 'description');
    }

    Verschlüsseln Sie den Wert einer dynamisch definierten Tabelle und eines Felds

    Wenn Sie umgekehrt den Namen des Felds nicht kennen, das die verschlüsselten Daten ausfüllen, können Sie sie dynamisch mit definieren Tabellenname Und Feldname .

    Das folgende Beispiel verarbeitet eine generische Anforderung, die Daten in verschiedenen Aufgabentabellen (z. B. Incident, Problem und Change_Request) in der Instanz speichern kann.

    function SampleAction2() {
        var tableName = request.urlParams.table;  
        for (var parameter in request.postParams) {   
            var currentParam = request.postParams[parameter];
            var fieldName = currentParam.toString();
            if (fieldName == 'text') {
                currentParam.valueFor(tableName, 'description') 
            } else {
                currentParam.valueFor(tableName, fieldName);
            }
        }
    }

    Diese Aktion:

    • Ruft die Zieltabelle aus den URL-Parametern ab.
    • Iteriert über die URL-Parameter.
    • Fragt nach Edge EncryptionProxy-Server zum Verschlüsseln eines URL-Parameters mit einem Namen, der einem für die Verschlüsselung markierten Feld entspricht.
    • Sucht nach einem bestimmten Parameter namens Text Und fragt Edge EncryptionProxy zum Verschlüsseln des Werts basierend auf der Verschlüsselungskonfiguration für das Beschreibungsfeld in der Incident-Tabelle.

    In diesem Beispiel ist WertFür() Die Methode führt keine Verschlüsselung durch. Stattdessen fragt die Methode nach Edge EncryptionProxy-Server, um zu überprüfen, ob das Tabellen-/Feldpaar im Anforderungsobjekt für die Verschlüsselung mit einer Verschlüsselungskonfiguration markiert ist, und gegebenenfalls zu verschlüsseln.

    Verschlüsseln Sie JSON oder XML innerhalb eines Parameters

    Ein POST- oder URL-Parameter kann JSON- oder XML-Inhalt enthalten. In diesem Fall können Sie den Inhalt innerhalb des Parameters verarbeiten, über die Werte iterieren und erforderliche Felder verschlüsseln. In diesem Beispiel ist Tabellenname Wird weiterhin über einen POST-Parameter aufgerufen, aber der Wert des Felds ist das JSON-Objekt Daten .

    function SampleAction3() {
        var tableName = request.postParams.table;
        var data = request.postParams.data;
        var dataIterator = data.getAsJsonContent().iterator();
        while (dataIterator.hasNext()) {
            var jsonElement = dataIterator.next();
            var fieldName = jsonElement.getName();
            if (fieldName == 'text') {
                jsonElement.valueFor(tableName, 'description');
            } else {
                jsonElement.valueFor(tableName, fieldName);
            }   
        }
    }

    Ein Beispiel für eine Verschlüsselungsregelaktion, die XML innerhalb eines POST-Parameters verarbeitet.

    function SampleAction4() {
        var tableName = request.postParams.table;
        var data = request.postParams.data;
        var dataIterator = data.getAsXmlContent().getIteratorOverAllChildren();
        while (dataIterator.hasNext()) {
            var jsonElement = dataIterator.next();
            var fieldName = jsonElement.getName();
            if (fieldName == 'text') {
                jsonElement.valueFor(tableName, 'description');
            } else {
                jsonElement.valueFor(tableName, fieldName);
            }   
        }
    }

    Verschlüsseln Sie eine Abfrage

    Möglicherweise wird eine codierte Abfrage innerhalb eines Parameters in der Client-Anforderung angezeigt, der vertrauliche Daten enthält. Um ein Feld in einer Abfrage mit einem verschlüsselten Wert in der Instanzdatenbank abzugleichen, müssen Sie eine Verschlüsselungsregel erstellen, die den Proxy auffordert, zu überprüfen, ob ein Feld in der Abfrage zur Verschlüsselung markiert ist. Die EncodedQueryFor() Die Methode analysiert eine codierte Abfrage für eine bestimmte Tabelle und überprüft, ob Felder in der Abfrage Verschlüsselungskonfigurationen aufweisen.

    In diesem Beispiel iteriert die Regel über die Parameter, die suchen, nach Filtern Parameter, der als Glide-codierte Abfrage erwartet wird.

    function SampleAction5() {
        var tableName = request.urlParams.table;
        for (var parameter in request.postParams) {
            var currentParam = request.postParams[parameter];
            var fieldName = currentParam.toString();
            if (fieldName == 'filter') {
                currentParam.encodedQueryFor(tableName);
            } else {
                currentParam.valueFor(tableName, fieldName);
            }
        }
    }

    Beispiel: Wenn der Wert von Filtern Ist: Short_description=meine sensiblen Informationen^number=INC000056^category=Ausfall , Würde die Abfrage werden Short_description=<verschlüsselt(meine vertraulichen Informationen)>^number=INC000056^category=Ausfall Auf der Instanz.

    ParameterValue – toString()

    Konvertiert den POST- oder URL-Parameterwert in eine Zeichenfolge.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Zeichenfolge Der Parameterwert als Zeichenfolge.

    ParameterValue – getAsJsonContent()

    Gibt die Anforderung als iterbares Objekt vom Typ zurück JsonNode .

    Diese Methode ist nur in verfügbar Edge EncryptionRegel, wenn der Anforderungstext eine gültige JSON-Nutzlast ist. Wenn Sie sich nicht sicher sind, welches Format der Anforderungstext enthält, überprüfen Sie das Feld contentType auf der Anforderung Objekt.

    Sobald die Anforderung als zurückgegeben wird JsonNode Objekt, können Sie verwenden JSON-APIsUm über das Objekt zu iterieren und Felder zu verschlüsseln.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Rückgaben
    Typ Beschreibung
    JsonNode Die Anforderung als iterbares Element JsonNode .

    ParameterValue – getAsXmlContent()

    Gibt den Anforderungsinhalt als iterbares Objekt vom Typ zurück XMLInhalt .

    Diese Methode ist nur in verfügbar Edge EncryptionRegel. Diese Methode setzt voraus, dass der Anforderungstext eine gültige XML-Nutzlast ist. Sie können den contentType überprüfen, um sicherzustellen.

    Sobald die Anforderung als zurückgegeben wird XMLInhalt Objekt, können Sie verwenden XML-APIsUm über das Objekt zu iterieren und Felder zu verschlüsseln.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    XMLInhalt Die Anforderung als iterbares Objekt vom Typ XMLInhalt .

    ParameterValue – encodedQueryFor(Zeichenfolge tableName)

    Gibt an, dass der Wert des Elements eine codierte Abfrage in der angegebenen Tabelle ist.

    Durch das Aufrufen dieser Funktion für einen Parameter wird dem Proxy mitgeteilt, dass der Wert des Parameters ein ist Codierte Abfragezeichenfolgen Für die angegebene Tabelle. Der Proxy analysiert die codierte Abfrage und verschlüsselt die Felder in der codierten Abfrage, die verschlüsselt werden müssen.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Die Tabelle, für die die Abfrage voraussichtlich ausgeführt wird.
    Tabelle : 8. Rückgaben
    Typ Beschreibung
    Ungültig

    ParameterValue – valueFor(Zeichenfolge tableName, Zeichenfolge fieldName)

    Gibt an, dass der Wert des Elements dem angegebenen Feld in der angegebenen Tabelle zugeordnet ist.

    Das Aufrufen dieser Methode für einen Elementwert teilt dem Proxy mit, dass der Wert für dieses Element dem angegebenen Feld in der angegebenen Tabelle zugeordnet ist. Der Proxy überprüft dann, ob das Feld verschlüsselt werden muss.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Der Tabellenname.
    fieldName Zeichenfolge Der Feldname.
    Tabelle : 10. Rückgaben
    Typ Beschreibung
    Ungültig