Пaраметр chains#

Опциональные параметры: -chains

Группа, включающая в себя следующие параметры:

  • параметр chains_request- ;

  • параметр chains_response -.

Тип параметра: группа параметров и их значения.

По умолчанию: значения группы задаются пользователем.

Пример использования chains:

chains:
  request_chains:
    - actions:
      - action: JsonValidation
        params:
          validation_schema: {type: file, path: schemes/json/v1/leasing.order.buy.POST.rq.v1.json}
        conditions:
          - {var: $request_method, operator: '=', val: 'POST'}
# Условия вызова валидатора теперь перечисляются в conditions
      message: $clj_request_body
  response_chains:
    - actions:
      - action: JsonValidation
        params:
          validation_schema: {type: file, path: schemes/json/v1/leasing.order.buy.POST.rs.v1.json}
          action: ignore
        conditions:
          - {var: $request_method, operator: '=', val: 'POST'}
          - {var: $upstream_status, operator: '!~', val: '(?:500|502|503|504)'}
      - action: JsonTransformer
# Непосредственно вызов экшена, выполняющего удаление дополнительных атрибутов
        params: {elements_to_remove: $clj_validation_error_text}
# $clj_validation_error_text - переменная, содержащая в себе перечень ошибок валидации - выставляется в экшене JsonValidation
        conditions:
          - {var: $clj_validation_error_text, operator: '!=', val: ''}
# Условие вызова JsonTransformer'а - не пустая переменная с ошибками валидации
      message: $clj_response_body
  response_chain_properties:
    use_post_processor: true
    resp_gen_modify: 'on'
# Флаг, отвечающий за возможность переопределения тела ответа ResponseGenerator'ом. Этот флаг позволяет ResponseGenerator'у переопределить ответ от бэка другим ответом (который указан в правилах) для не ошибочных статусов (2ХХ, 3ХХ). Без этого флага действия по удалению элементов выполняться будут, но на конечный ответ пользователю это не повлияет.