operation-switch

Verwenden Sie das operation-switch-Konstrukt, wenn Sie alternative Richtlinien-Assemblys ausführen möchten, abhängig von der aufgerufenen Operation.

Gateway-Unterstützung

Tabelle 1. Tabelle, aus der hervorgeht, welche Gateways diese Richtlinie unterstützen, sowie die entsprechende Richtlinienversion
Gateway Richtlinienversion
DataPower® Gateway (v5 compatible) 1.0.0
DataPower API Gateway 2.0.0

In diesem Thema wird beschrieben, wie Sie die Richtlinie in Ihrer „ OpenAPI “-Quelle konfigurieren; Einzelheiten zur Konfiguration der Richtlinie in der Benutzeroberfläche der Assembly finden Sie unter „operation-switch “.

Produktinfo

Eine Operation kann über ein verb/path-Paar oder über eine operationId beschrieben werden. Die operationIds sind Zeichenfolgen oder Namen, die im OpenAPI -Dokument definiert sind.

Die operation-switch-Richtlinie weist das folgende Format auf:
- operation-switch:
  version: version
  title: title
  description: description
  case:
    - operations:
      - verb: operation_verb_1_1
        path: operation_path_1_1
      - verb: operation_verb_1_2
        path: operation_path_1_2
                     .
                     .
                     .
           further verb/path combinations
                     .
                     .
                     .
      execute: 
        policy_assembly_1 ...
    - operations:
      - verb: operation_verb_2_1
        path: operation_path_2_1
      - verb: operation_verb_2_2
        path: operation_path_2_2
                     .
                     .
                     .
           further verb/path combinations
                     .
                     .
                     .
      execute: 
        policy_assembly_2 ...
                   .
                   .
                   .
    - operations:
      - operationID_3_1
      - operationID_3_2
      - operationID_3_3
        
                     .
                     .
                     .
           further operationIDs
                     .
                     .
                     .
      execute: 
        policy_assembly_3 ...
                   .
                   .
                   .
         further operations sections
                   .
                   .
                   .
 

Für jeden Abschnitt operations:, bei dem die aufgerufene Operation einer der verb/path-Kombinationen oder einer operationId-Zeichenfolge im Abschnitt operations: entspricht, wird die im Abschnitt execute: definierte Richtlinien-Assembly ausgeführt. Daher definiert jeder operations:-Abschnitt die Ausführung einer Richtlinien-Assembly abhängig von der aufgerufenen Operation.

Sie können über beliebig viele operations:-Abschnitte verfügen und jeder operations:-Abschnitt kann über eine oder mehrere verb/path-Kombinationen oder operationId-Zeichenfolgen verfügen.

Der Abschnitt execute: kann eine beliebige Richtlinien-Assembly definieren, einschließlich weiterer Richtlinien vom Typ "operation-switch".

Eigenschaften

Tabelle 2. Eigenschaften der Richtlinie für Betriebsschalter
Eigenschaft Erforderlich Beschreibung Datentyp Enthalten in
version Ja Die Versionsnummer der Richtlinie Zeichenfolge Nicht zutreffend
title Nein Ein Titel für die Richtlinie. Zeichenfolge Nicht zutreffend
description Nein Eine Richtlinienbeschreibung. Zeichenfolge Nicht zutreffend
case Ja Ein Array, das unterschiedliche Fälle enthält; jeder Eintrag enthält ein operations- und ein execute-Feld. Array (Objekt) Nicht zutreffend
operations Ja Die Operationen, für die ein Fall gilt. Objekt case
verb Nein Ein Operationsverb.
Die gültigen Werte sind im Folgenden aufgelistet:
  • GET
  • POST
  • PUT
  • DELETE
  • HEAD
  • PATCH
  • OPTIONS
Zeichenfolge operations
path Nein Ein relativer Pfad zu einem einzelnen Endpunkt. Beispiel: /account_status. Zeichenfolge operations
operationID Nein Die Operation ist in OpenAPIdefiniert. Die Richtlinienoperation bezieht sich auf die Operation OpenAPI . Zeichenfolge operations
execute Ja Die Richtlinien-Assembly, die Sie ausführen möchten, wenn die aufgerufene Operation einer der verb/path-Kombinationen entspricht. Weitere Informationen finden Sie unter execute. Zeichenfolge case

Beispiel

Beispiel, bei dem match-Operationen mit verb/path-Kombinationen definiert werden:
# carry out different redaction actions depending on the operation

- operation-switch:
  version: 1.0.0
  title: clear_region_and_set_body
  case:
    - operations:
      - verb: GET
        path: /account_details
      execute:
        - redact:
            title: remove secret field
            actions:
              - action: remove
                from: all
                path: /document/user/secret
    - operations:
      - verb: GET
        path: /account_status
      execute:
        - redact:
            title: redact address
            actions:
              - action: redact
                from: response
                path: //*[@name='secondaryAddress']/*[@name='streetAddress']
Beispiel, bei dem eine match-Operation mit operationIDs definiert wird:
# match on operationIDs

- operation-switch:
  title: customer_actions
  case:
    - operations:
      - getCustomerByName
      - deleteCustomer
      - addACustomer
      execute:
           .
           .
           .