operation-switch

Utilice la construcción operation-switch cuando desee ejecutar ensamblajes de política alternativos condicionados a la operación que se llama.

Soporte de pasarela

Tabla 1. Tabla que muestra qué puertas de enlace admiten esta política y la versión correspondiente de la misma
Pasarela Versión de política
DataPower® Gateway (v5 compatible) 1.0.0
DataPower API Gateway 2.0.0

En este tema se describe cómo configurar la política en la fuente de datos de « OpenAPI »; para obtener más información sobre cómo configurar la política en la interfaz de usuario de Assembly, consulte «operation-switch ».

Acerca de

Una operación se puede describir con un par verb/path o con un operationId. Los operationIds son series, o nombres, que se definen en el documento OpenAPI .

La política operation-switch tiene el formato siguiente:
- 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 sección operations:, si la operación que se llama coincide con cualquiera de las combinaciones verb/path o de las series operationId listadas en esa sección operations:, se ejecuta el ensamblaje de política definido en la sección execute:. Por lo tanto, cada sección operations: define la ejecución de un ensamblaje de política condicional sobre la operación que se llama.

Puede tener tantas secciones operations: como desee y cada sección operations: puede tener una o varias combinaciones verb/path o series operationId.

La sección execute: puede definir cualquier ensamblaje de política, incluidas políticas operation-switch adicionales.

Propiedades

Tabla 2. Propiedades de la política de conmutadores de operaciones
Propiedad Obligatorio Descripción Tipo de datos Contenida en
version El número de versión de la política serie N/D
title Nee Título de la política. serie N/D
description Nee Una descripción de la política. serie N/D
case Una matriz que contiene distintos casos, cada entrada contiene un campo operations y execute. Matriz (objeto) N/D
operations Las operaciones a las que se aplica un caso. objeto case
verb Nee Un verbo de operación.
Valores válidos:
  • GET
  • POST
  • PUT
  • DELETE
  • HEAD
  • PATCH
  • OPTIONS
serie operations
path Nee Una vía de acceso relativa a un punto final individual. Por ejemplo, /account_status. serie operations
operationID Nee La operación se define en OpenAPI. La operación de política hace referencia a la operación OpenAPI . serie operations
execute El ensamblaje de política que desea ejecutar si la operación que se llama coincide con cualquiera de las combinaciones verbo/vía de acceso. Para obtener más información, consulte execute. serie case

Ejemplo

Ejemplo que define las operaciones de coincidencia con las combinaciones 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']
Ejemplo que define la operación de coincidencia con operationIDs:
# match on operationIDs

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