Отображение объекта JSON в другой ESB WSO2 - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь отобразить полученный json объект, который я получил, в другой json объект в wso2 через преобразователь данных в интеграторе wso2 esb. Вот что я пытаюсь достичь:

Введите json файл для сопоставления:

"Id": "degradation",
"Value": "4",

Выведите json файл для получения:

"result": {
  "degradation": 4
}

Есть идеи, как мне это сделать в интеграторе? И в случае, если это невозможно, можно рассмотреть какое-либо альтернативное решение (библиотеки, может быть, еще один более простой фреймворк ...)?

1 Ответ

2 голосов
/ 22 января 2020

Вы можете использовать посредник Payload Factory для достижения вышеизложенного, если структура входной и выходной полезной нагрузки является stati c.

Ниже приведен пример API, который вы можете протестировать. Отправьте запрос POST этому API с вашей полезной нагрузкой ввода, и выходные данные будут преобразованы, как вы ожидали.

<?xml version="1.0" encoding="UTF-8"?><api xmlns="http://ws.apache.org/ns/synapse" name="testPayload" context="/testPayload">
    <resource methods="POST">
        <inSequence>
            <payloadFactory media-type="json">
                <format>{"result" : {"$1":"$2"}}</format>
                <args>
                   <arg evaluator="json" expression="$.Id"/>
                   <arg evaluator="json" expression="$.Value"/>
                </args>
             </payloadFactory>
             <respond/>>
        </inSequence>
    </resource>
</api>
...