JsonPathExtract#

Действие JsonPathExtract позволяет извлекать содержимое элемента JSON объекта с использованием нотации JSON-path (документация на библиотеку приведена на сайте, для проверки JsonPass рекомендуется воспользоваться ссылкой http://jsonpath.herokuapp.com/.

Параметры:

Название

Обязательность

Допустимые значения

Описание

path

+

Строка

Выражение json-path, обязательный параметр

expectedResult

-

имя java-класса

Имя java класса, соответствующего ожидаемому результату, по умолчанию java.lang.String

allowNotFound

-

true/false

В случае указания значения true, если искомый элемент не найден, то возвращается пустая строка. Иначе выдается ошибка. По умолчанию - true.

Пример:

service:
 service_static:
   - id: 1
     url: /sample
     listen:
       - port: 8083
     chains:
      request_chains:
       - actions:
         - action: JsonPathExtract
           params:
            path: "$.address.streetAddress"
            actions:
             - action: SetVarFromMessage
               params:
                variable: $clj_street
         message: $clj_request_body
     optional:
       response_body: "OK"
       response_code: 200
     response_headers:
       - name: X-Header
         value: "$clj_street"

В приведенном примере мы извлекаем из приходящего в теле запроса JSON элемент streetAddress, далее передаем результат в действие SetVarFromMessage, в котором помещаем его значение в переменную clj_street. Данная переменная используется для заполнения заголовка X-Header, который возвращается клиенту в ответе.