П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ХХ). Без этого флага действия по удалению элементов выполняться будут, но на конечный ответ пользователю это не повлияет.