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
| 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.
- 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
| 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:
|
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
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']operationIDs definiert wird:# match on operationIDs
- operation-switch:
title: customer_actions
case:
- operations:
- getCustomerByName
- deleteCustomer
- addACustomer
execute:
.
.
.