operation-switch
Use a construção operation-switch quando desejar executar conjuntos de políticas alternativos, condicionais à operação que está sendo chamada.
Suporte de gateway
| Gateway | Versão da política |
|---|---|
| DataPower® Gateway (v5 compatible) | 1.0.0 |
| DataPower API Gateway | 2.0.0 |
Este tópico descreve como configurar a política na sua fonte OpenAPI; para obter detalhes sobre como configurar a política na interface de usuário do assembly, consulte operation-switch.
Sobre
Uma operação pode ser descrita com um par verb/path, ou com
um operationId. Os operationIds são sequências ou nomes que são definidos no documento OpenAPI .
- 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
.
.
.
Para cada seção operations:, se a operação que está sendo chamada corresponder a alguma
das combinações verb/path ou sequências operationId
listadas nessa seção operations:, o conjunto de política definido
na seção execute: será executado. Portanto, cada seção operations: define a execução de um conjunto de políticas condicional à operação que está sendo chamada.
É possível ter quantas seções operations: você desejar, e cada seção
operations: pode ter uma ou mais combinações
verb/path ou sequências operationId.
A seção execute: pode definir qualquer conjunto de políticas, incluindo políticas operation-switch adicionais.
Propriedades
| Propriedade | Obrigatório | Descrição | Tipo de dados | Contido em |
|---|---|---|---|---|
| version | True | O número de versão da política | sequência | N/D |
| title | Não | Um título para a política. | sequência | N/D |
| description | Não | Uma descrição da política. | sequência | N/D |
| case | True | Uma matriz contendo diferentes maiúsculas e minúsculas, cada entada contém um campo operations e execute. | matriz (objeto) | N/D |
| operations | True | As operações às quais maiúsculas e minúsculas se aplicam. | objeto | case |
| verb | Não | Um verbo da operação. Valores válidos:
|
sequência | operations |
| path | Não | Um caminho relativo para um terminal individual. Por exemplo, /account_status. |
sequência | operations |
| operationID | Não | A operação é definida em OpenAPI A operação de política se refere à operação OpenAPI . | sequência | operations |
| execute | True | O conjunto de políticas que você desejará executar se a operação que está sendo chamada corresponder a qualquer uma das combinações de verbo/caminho. Para obter mais informações, consulte execute | sequência | case |
Exemplo
verb/path:# 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:# match on operationIDs
- operation-switch:
title: customer_actions
case:
- operations:
- getCustomerByName
- deleteCustomer
- addACustomer
execute:
.
.
.